<?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-7230680</id><updated>2012-01-04T08:33:41.009-08:00</updated><title type='text'>Bruce Shankle - Inside Out</title><subtitle type='html'>Thinking for 39 years and counting...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>E. Bruce Shankle III</name><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>89</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7230680.post-3576212207447916944</id><published>2010-04-16T01:38:00.000-07:00</published><updated>2010-04-16T01:38:05.431-07:00</updated><title type='text'>If only I had followed my own advice...</title><content type='html'>I found this on Google Groups. It is a post I wrote in 1994 (using my then-girlfriend's account at NCSU). Had I actually bought $1,000.00 worth of Microsoft stock back then, I'd have $144,000 today. I never imagined back then I'd be actually working at Microsoft on the Windows operating system itself.&lt;br /&gt;&lt;br /&gt;"&lt;i&gt;Dear people of the world,&lt;br /&gt;&lt;br /&gt;I work for small development firm. I was the first Windows programmer. &lt;br /&gt;Before I came to the company everything was DOS/Novell.&lt;br /&gt;&lt;br /&gt;Within 6 months the company is now Windows/WindowsNTAS/DOS/Novell. &lt;br /&gt;All the software that used to be at the company still is, with added &lt;br /&gt;products from Microsoft.&lt;br /&gt;&lt;br /&gt;We have Word 6.0, Excel, Access, SQL Server for NT Adv.Serv.. &lt;br /&gt;The network administrator is in love with NT Adv. Serv. &lt;br /&gt;The secretaries now actually get their work done without confusing &lt;br /&gt;DOS applications.&lt;br /&gt;&lt;br /&gt;The programmers have had no trouble in learning/using Windows and &lt;br /&gt;writing programs in VB, PowerBuilder, ObjectView, Visual C++, &lt;br /&gt;SQL Server for NT.&lt;br /&gt;&lt;br /&gt;The company is more productive overall, and products are developed faster, &lt;br /&gt;have more functionality, and are easier to use. And no additional hardware &lt;br /&gt;was ever required. (And I've gotten a nice 6 month review for "helping the &lt;br /&gt;company evolve..." with a raise to boot.)&lt;br /&gt;&lt;br /&gt;There are many more positive things happening... &lt;br /&gt;People who used to sneer at Microsoft (Mainframe guys I like to call 'em) &lt;br /&gt;now seem to like Microsoft's development tools and/or tools that work &lt;br /&gt;with MS operating systems.&lt;br /&gt;&lt;br /&gt;Although I am usually quite objective, have come from a UNIX background, &lt;br /&gt;have worked for IBM (extensively with OS/2), have done consulting work for &lt;br /&gt;companies locked into a character-based mindset, and acknowledge that I don't &lt;br /&gt;know everything about all software, I feel I must defend Microsoft. &lt;br /&gt;I appreciate what they have accomplished not only for themselves, but for &lt;br /&gt;those of us who program small computers or a living.&lt;br /&gt;&lt;br /&gt;I know Microsoft's strategy and tactics can be difficult for some to deal &lt;br /&gt;with, but it's all part of the evolution of the computer. Competition is &lt;br /&gt;good for the market, and the products. It keeps everyone on their toes.&lt;br /&gt;&lt;br /&gt;I don't close my eyes. I have OS/2, DOS/Windows 3.1, Windows 3.11, Windows &lt;br /&gt;NT, Daytona (beta), SCO Unix, and CICS systems around me everyday. I have &lt;br /&gt;seen the strengths and weaknesses of these environments. Each has a place in &lt;br /&gt;the market, each performs some useful function. But the products I find &lt;br /&gt;I like the most and use most often bear the Microsft name. And if had the &lt;br /&gt;money to buy stock, it would be in Microsoft.&lt;br /&gt;&lt;br /&gt;Keep up the good work Microsoft!&lt;br /&gt;&lt;br /&gt;Regards, &lt;br /&gt;Bruce Shankle&lt;/i&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-3576212207447916944?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/3576212207447916944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=3576212207447916944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/3576212207447916944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/3576212207447916944'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2010/04/if-only-i-had-followed-my-own-advice.html' title='If only I had followed my own advice...'/><author><name>E. Bruce Shankle III</name><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-7230680.post-3404977516885827372</id><published>2009-12-27T16:34:00.000-08:00</published><updated>2009-12-27T16:43:47.947-08:00</updated><title type='text'>What is fructose?</title><content type='html'>Almost everyone knows fructose is the sugar found in fruits, berries, and honey. It's natural. What if I told you that fructose is actually a poison?&lt;br /&gt;&lt;br /&gt;Would you call me crazy?&lt;br /&gt;&lt;br /&gt;It turns out that fructose, as consumed by the majority of folks today, in indeed a poison. It puts the same load on your liver as alcohol, suppresses you natural hunger response mechanisms (so you feel hungry even after you eat), and leads to a whole host of metabolic problems.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sweetdisguise.com"&gt;SweetDisguise.com&lt;/a&gt;, a recently conceived web site, attempts to shine a light on the root cause of the obesity and type 2 diabetes epidemic in our country.&lt;br /&gt;&lt;br /&gt;Interesting articles include:&lt;br /&gt;&lt;a href="http://www.sweetdisguise.com/what-is-fructose"&gt;What is Fructose?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sweetdisguise.com/sugar-the-bitter-truth"&gt;Sugar - The Bitter Truth&lt;/a&gt;&lt;br /&gt;&lt;a href="http://"&gt;Will Fructose Make Your Heart Explode?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sweetdisguise.com/is-corn-syrup-jeopardizing-your-babys-health"&gt;Is Corn Syrup Jeopardizing Your Baby's Health?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the site: "Every carbohydrate we eat must be converted to glucose in order to be useful. Glucose is often called ‘blood sugar’ because it is the sugar that is in your blood. Fructose, on the other hand, cannot be used by your brain or muscles. They don’t have the cellular machinery to burn it. It turns out that to metabolize fructose, our livers have to perform several complicated chemical processes on it. This puts the same strain on your liver as consuming alcohol. But it also short-circuits our natural hunger suppression signals and creates a host of metabolic problems like insulin resistance, obesity, and elevated LDL cholesterol."&lt;br /&gt;&lt;br /&gt;Get educated on fructose and think about it before you drink another can of soda.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-3404977516885827372?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/3404977516885827372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=3404977516885827372' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/3404977516885827372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/3404977516885827372'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2009/12/what-is-fructose.html' title='What is fructose?'/><author><name>E. Bruce Shankle III</name><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-7230680.post-5134442505919719124</id><published>2009-10-02T01:58:00.000-07:00</published><updated>2009-10-02T02:26:23.257-07:00</updated><title type='text'>Windows 7 - Coming Your Way</title><content type='html'>Before I hunker down to work on our next engineering challenge at Microsoft, I wanted to reflect on my experience working on Windows 7.&lt;br /&gt;&lt;br /&gt;For the last few years I've been working at Microsoft as a test engineer. I'm sometimes asked what that means. A test engineer is someone who, well, tests things. I would classify myself as a natural tester, and I take pride in what I do. I lead a team of test engineers who test Windows graphics: everything from the HLSL compiler to the display driver model.&lt;br /&gt;&lt;br /&gt;Growing up on a farm in rural North Carolina gave me an interesting perspective on how things work; from the herding behavior of cattle, sheep and goats, to the inner workings of complex farm equipment, I've witnessed a lot of things go wrong while working hard to make them go right. Getting a pilot's license and the healthy paranoia of staying safe in a small airplane gave me another dose of tester mentality. Writing software for 15 years helped as well.&lt;br /&gt;&lt;br /&gt;Testers that I work with, at least in graphics, are also software developers. In essence, we are the first customers that get a chance to try out a given piece of technology before it is released to the public. Our job is discover, identify and resolve flaws before they find their way out of the factory, so-to-speak. The amount of code we generate to test a given function is often times more code than the original function itself. The kinds of issues we discover are sometimes trivial, sometimes complex, sometimes bizarre.&lt;br /&gt;&lt;br /&gt;It takes a very special kind of mindset to perform in a test role year after year, largely because we don't get the glamor of being the creator of the code that ships and our successes, a high quality product, often end up being credited to the developers. I often equate this to things I've heard about NASA and the United States space program. Apparently NASA has many times more engineers testing things than they do building things. For every astronaut up in orbit, there are thousands of folks on the ground ensuring everything is 'nominal'...and even then there are often problems anyway.&lt;br /&gt;&lt;br /&gt;Don't get me wrong. I respect feature development, I did that for many many years and have shipped many successful products and line of business applications in many different industries. The creativity of being 'in flow' working on something new is very appealing to me. And Microsoft developers are truly the best of the best when it comes to producing world-class code. But development without testing and high quality bars generally produces sub-optimal products. And I've been quite fulfilled in this role as a test engineer, it comes naturally to me.&lt;br /&gt;&lt;br /&gt;I've also made many new friends. The engineers I work alongside in test at my job are easily the most intelligent and gifted people I have ever had the opportunity to work with. And over the past few years we have worked very hard to produce an operating system worthy of praise.&lt;br /&gt;&lt;br /&gt;I look back on the Windows 7 experience realizing the depth of the technical achievement, the humbling affect of the scale of the effort, of knowing my contribution is but a small fraction of much larger force, and a smile of knowing I'll always get to remember being a part of that effort.&lt;br /&gt;&lt;br /&gt;I think you will be very pleased with Windows 7 when it hits store shelves less than 3 weeks from today. We've all worked very hard on it.&lt;br /&gt;&lt;br /&gt;I'm proud of our accomplishment :).&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-5134442505919719124?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/5134442505919719124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=5134442505919719124' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/5134442505919719124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/5134442505919719124'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2009/10/windows-7-coming-your-way.html' title='Windows 7 - Coming Your Way'/><author><name>E. Bruce Shankle III</name><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-7230680.post-1211741617515768471</id><published>2009-04-14T19:52:00.000-07:00</published><updated>2009-04-14T20:09:25.825-07:00</updated><title type='text'>Learning to stop</title><content type='html'>I've been observing something in myself and in others over the last few months. What I've observed is that most human beings are always running towards the future to find happiness. They are looking towards that next 'thing' or 'event' that would make their lives more fulfilling and happy.&lt;br /&gt;&lt;br /&gt;Thinking about this it dawned on me, what if we just 'stop'. Learning to stop, and feel each breath we take deliberately, to feel the motion of each step we take, to feel the wonder of just existing, of experiencing, of just being, is at best difficult.&lt;br /&gt;&lt;br /&gt;I've recently begun learning a bit about Asian culture and I find that many components of this culture are more 'patient' and 'graceful' than their heavy-handed, fast-paced Western counter-parts. Take for instance gardening. Japan has the notion of a Zen Garden or Rock Garden "Japanese gardens are a living work of art in which the plants and trees are ever changing with the seasons. As they grow and mature, they are constantly sculpted to maintain and enhance the overall experience; hence, a Japanese garden is never the same and never really finished." -&lt;a href="http://en.wikipedia.org/wiki/Zen_garden"&gt;Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The American counterpart? Well take a trip to a Home Depot and look at all the people buying fertilizers, and plants, and bizarre yard ornaments (like elves, and shiny balls). It seems like Americans are more interesting in forcing things into and out of the ground as opposed to garnering artistic expression from a garden.&lt;br /&gt;&lt;br /&gt;Another example is perhaps cooking. Spend an evening with someone who cooks authentic Chinese food (not the over-oily Amercianized stuff, but the real deal) with exotic spices, wide variety of sea-foods and vegetables and noodles and soups...now compare that to an evening with someone who cooks American favorites like barbecued pork-chops and mashed potatoes. True, they're both nourishing but doesn't the American way seem a bit more 'fat'? &lt;br /&gt;&lt;br /&gt;Granted, my experience with Asian culture is really just beginning, but so far I'm finding that I enjoy the components of peace, harmony, patience, and 'stopping' that I feel when I explore it.&lt;br /&gt;&lt;br /&gt;If I have my wishes, as the clock moves forward, I will become more intimate with Asian culture and perhaps make it a more permanent part of my life.&lt;br /&gt;&lt;br /&gt;Try stopping today and see if experience something that should have been obvious to you when were going...like love perhaps...&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-1211741617515768471?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/1211741617515768471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=1211741617515768471' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/1211741617515768471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/1211741617515768471'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2009/04/learning-to-stop.html' title='Learning to stop'/><author><name>E. Bruce Shankle III</name><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-7230680.post-1948204738704465008</id><published>2008-12-11T14:55:00.000-08:00</published><updated>2008-12-11T14:57:12.259-08:00</updated><title type='text'>The Long Way Home</title><content type='html'>This is the route a friend and I are planning to drive to get from the state of Washington to the state of North Carolina. Hopefully I'll get some sun along the way.&lt;br /&gt;&lt;br /&gt;&lt;iframe marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=d&amp;amp;saddr=bothell,+wa&amp;amp;daddr=mojave,+ca+to:los+angeles,+ca+to:San+Diego,+California+to:houston,+tx+to:new+orleans,+la+to:raleigh,+nc&amp;amp;hl=en&amp;amp;geocode=&amp;amp;mra=ls&amp;amp;sll=38.61687,-106.743164&amp;amp;sspn=31.056466,67.675781&amp;amp;ie=UTF8&amp;amp;ll=38.61687,-106.479492&amp;amp;spn=18.29509,44.75244&amp;amp;output=embed&amp;amp;s=AARTsJqyKL9W98NSHGalOZQh0frnkOhNHQ" scrolling="no" width="425" frameborder="0" height="350"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://maps.google.com/maps?f=d&amp;amp;saddr=bothell,+wa&amp;amp;daddr=mojave,+ca+to:los+angeles,+ca+to:San+Diego,+California+to:houston,+tx+to:new+orleans,+la+to:raleigh,+nc&amp;amp;hl=en&amp;amp;geocode=&amp;amp;mra=ls&amp;amp;sll=38.61687,-106.743164&amp;amp;sspn=31.056466,67.675781&amp;amp;ie=UTF8&amp;amp;ll=38.61687,-106.479492&amp;amp;spn=18.29509,44.75244&amp;amp;source=embed" style="color: rgb(0, 0, 255); text-align: left;"&gt;View Larger Map&lt;/a&gt;&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-1948204738704465008?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/1948204738704465008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=1948204738704465008' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/1948204738704465008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/1948204738704465008'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2008/12/long-way-home.html' title='The Long Way Home'/><author><name>E. Bruce Shankle III</name><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-7230680.post-5679718809167671766</id><published>2008-11-25T12:27:00.000-08:00</published><updated>2008-11-25T12:29:30.865-08:00</updated><title type='text'>ATI Catalyst Windows 7 Preview Driver Package</title><content type='html'>If you're alpha or beta testing Windows 7 and you're looking for drivers for your AMD / ATI Radeon series GPU you can try finding them here:&lt;br /&gt;&lt;a href="http://support.ati.com/ics/support/default.asp?deptID=894&amp;amp;task=knowledge&amp;amp;questionID=39069"&gt;http://support.ati.com/ics/support/default.asp?deptID=894&amp;amp;task=knowledge&amp;amp;questionID=39069&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-5679718809167671766?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/5679718809167671766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=5679718809167671766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/5679718809167671766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/5679718809167671766'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2008/11/ati-catalyst-windows-7-preview-driver.html' title='ATI Catalyst Windows 7 Preview Driver Package'/><author><name>E. Bruce Shankle III</name><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-7230680.post-8992949105520598345</id><published>2008-10-28T12:27:00.000-07:00</published><updated>2008-10-28T12:58:11.023-07:00</updated><title type='text'>Linksys Media Center Extender - Replacing a Defective Unit</title><content type='html'>If you have a Linksys DMA2100 or DMA2200 Media Center Extender and it stops working and you've tried the reset procedure and it still won't work, you may need a replacement device. This procedure may be similar for other Linksys devices, but I only have the Media Center Extender which quit working after about a month and simply refused to work any more. It had a solid red LED only.&lt;br /&gt;&lt;br /&gt;This recently happened to me and it took me a couple of days and many phone calls to Linksys and various other parties to sort out what I needed to do to get a replacement. I had purchased the unit from Dell so I couldn't simply take it back to the store (which a Linksys rep asked me to do in one of my many phone calls).  It would be nice if Linksys actually had a description of the process like this on their web site instead of making every customer jump through so many hoops to return a defective product still under warranty.&lt;br /&gt;&lt;br /&gt;I'd like to share with you what to do to save you time and energy if yours fails and you want a replacement. If this post actually helps you please leave a comment and let me know. Or if a number has changed or the process has changed let me know.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Prerequisites&lt;/span&gt;&lt;br /&gt;You will need:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Phone&lt;/li&gt;&lt;li&gt;Web browser with Flash support&lt;/li&gt;&lt;li&gt;Printer (to print the RMA packing slip later)&lt;/li&gt;&lt;li&gt;All of the original hardware that came with your device&lt;/li&gt;&lt;li&gt;Patience&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Step 1:&lt;/span&gt; The main Linksys customer support number doesn't handle the media center extenders. They've contracted out that work to another company. The number you'll want to call from the US is: 866-509-7452&lt;br /&gt;Here a technician will ask you a few questions to debug the issue. You may be able to get the device working again using a reset procedure. If the tech deems the device bad, he has the power to issue you a case number. You MUST have a case number in order to return a defective device. But the case MUST BE ACTIVATED!!! The technician may assign you a case number and then tell you that you need to call another phone number in a couple of hours. This is not true. Read on.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2:&lt;/span&gt; Did the first technician ask for the device serial number and assign you a case number? If not you will have to go back to Step 1. If the case is not activated you won't be able to return the device. If it was activated properly you will receive an email.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3:&lt;/span&gt; If you are in the US, go to this &lt;a href="https://linksysrma.moduslink.com/Consumer/pag/Homepage.aspx?country=US"&gt;web site&lt;/a&gt;. If you are not in the US, go to this &lt;a href="https://linksysrma.moduslink.com/Consumer/pag/ChooseRegion.aspx"&gt;web site&lt;/a&gt; (requires Flash) and select your country. This will take you to a page where you can select an RMA option.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4:&lt;/span&gt; Fill in the online form which requires an active case number to get an RMA.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 5:&lt;/span&gt; Navigate through the multi-step web pages of ensuring the device type to be replaced, and the serial numbers (which you will be asked to verify several times on 3 different pages).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 6:&lt;/span&gt; Select a return shipping method. Ground is free. Anything faster and you have to pay.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 7:&lt;/span&gt; Agree to the RMA Terms and Conditions (see below)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 8:&lt;/span&gt; You will finally get an RMA number!! Yay!!! Make sure your printer is connected and ready to go before clicking the print button at the bottom of the page&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 9:&lt;/span&gt; Print the packing slip, package up your item, and ship it (you have to pay for that) to the Linksys Return Center in Ontario CA.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 10:&lt;/span&gt; Hopfully they will replace the device.&lt;br /&gt;&lt;br /&gt;Linksys RMA Terms and Conditions:&lt;br /&gt;&lt;span id="ctl00_ContentPlaceHolder_lblStandardRmaTerms" style="font-weight: bold;font-size:medium;" &gt;Please Read the Standard RMA Terms and Conditions before Clicking the "Continue" Button at the Bottom of the Page&lt;/span&gt;                  &lt;br /&gt;               &lt;br /&gt;                  &lt;span id="ctl00_ContentPlaceHolder_lblStandardRMATermsAndConditions"&gt;&lt;ol&gt;&lt;li&gt; Please ship the defective unit(s) to the address below.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;Linksys Return Center&lt;br /&gt;1100 Etiwanda Ave. Dock Doors 3-5&lt;br /&gt;Ontario, California 91761&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Linksys does NOT under warranty offer refunds, substitutions, credits, or upgrades.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Linksys is NOT responsible for lost packages in transit. Please obtain a tracking number as a safeguard for your shipment. Linksys strongly suggests using UPS or FedEx to ship the defective product to Linksys. Both shippers provide tracking numbers&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Linksys is not able to accommodate walk-in customers.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;&lt;b&gt;Processing the Defective Unit&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Package your return unit(s) in one box, please make sure the contents are secure and that enough packaging material is included to prevent the unit(s) from moving around during shipping.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Please ship the defective unit(s) to the address below.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;Linksys Return Center&lt;br /&gt;1100 Etiwanda Ave. Dock Doors 3-5&lt;br /&gt;Ontario, California 91761&lt;br /&gt;&lt;br /&gt;&lt;li&gt; All original Linksys accessories, such as power adapters, couplers/dongles, and antennas MUST BE RETURNED with the product.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; If you are replacing a product that belongs to a networking kit, only return the defective product listed on the previous web forms belonging to the networking kit. Please do not include the working product.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Linksys is NOT responsible for lost or damaged packages in transit. Please obtain a tracking number as a safeguard for your shipment. Linksys strongly suggests using UPS or FedEx to ship the defective product to Linksys. Both shippers provide tracking numbers&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Linksys is NOT responsible for lost or damaged personal accessories. If you have attached any accessories that did not come with the original product, please remove these items prior to returning your unit(s). In addition, if your product uses any internal fiber modules please also remove these items unless they are listed as one of the products on the RMA web form.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Linksys is not responsible for data stored on the hard drive of the defective unit. If the defective unit has a hard drive and it cannot easily be removed form the defective unit, backup your data prior to shipping the defective unit to Linksys.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; The customer bears the cost of sending the defective unit(s) to Linksys.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;&lt;b&gt;Processing the Replacement Unit&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Linksys bears the cost of shipping the replacement unit to the customer UPS Ground unless the expedited shipping option is chosen at the time the RMA is created. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Upon receipt of the defective unit, a replacement unit is usually shipped within two business days.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; In the event of a backorder, units will ship when available, and the shipping method will remain the same as the option selected at the time the RMA was created. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; If you wish to change the shipping method, YOU MUST contact the Linksys Customer Service department at 1 800 546 5797, option 3 prior to the replacement unit being shipped. Once the replacement unit has been shipped, the funds paid for expedited shipping cannot be refunded.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Once you receive your replacement unit, test the unit, and verify that it is working properly. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Damaged or missing part(s) must be reported within five business days of receiving the replacement unit(s).&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; IMPORTANT: If your unit uses a power supply, make sure to use the power supply that comes with the replacement unit, and not the original power supply.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; If you have any questions regarding your replacement unit, contact the Customer Service Department within five business days at 1 800 546 5797, option 3.&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-8992949105520598345?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/8992949105520598345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=8992949105520598345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/8992949105520598345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/8992949105520598345'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2008/10/linksys-media-center-extender-replacing.html' title='Linksys Media Center Extender - Replacing a Defective Unit'/><author><name>E. Bruce Shankle III</name><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-7230680.post-2732345832539837687</id><published>2008-08-11T18:05:00.000-07:00</published><updated>2008-08-12T02:14:39.530-07:00</updated><title type='text'>6 Simple Rules for Better Writing</title><content type='html'>George Orwell was passionate about improving the use of the English language.&lt;br /&gt;&lt;br /&gt;For example why say:&lt;br /&gt;"While freely conceding that the Soviet regime exhibits certain features which the humanitarian may be inclined to deplore, we must, I think, agree that a certain curtailment of the right to political opposition is an unavoidable concomitant of transitional periods, and that the rigours which the Russian people have been called upon to undergo have been amply justified in the sphere of concrete achievement."&lt;br /&gt;&lt;br /&gt;When you can say:&lt;br /&gt;"I believe in killing off your opponents when you can get good results by doing so."&lt;br /&gt;&lt;br /&gt;I often find that the blogger mindset tends to be more concise as &lt;a href="http://www.ourcivilisation.com/decline/orwell1.htm"&gt;George Orwell recommended&lt;/a&gt; with these six simple rules:&lt;br /&gt;&lt;table align="center" width="95%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th valign="top"&gt;i.&lt;/th&gt;&lt;td&gt; Never use a metaphor, simile or other figure of speech which you are used to seeing in print.&lt;/td&gt;&lt;/tr&gt;  &lt;tr&gt;&lt;th valign="top"&gt;ii.&lt;/th&gt;&lt;td&gt; Never use a long word where a short one will do.&lt;/td&gt;&lt;/tr&gt;  &lt;tr&gt;&lt;th valign="top"&gt;iii.&lt;/th&gt;&lt;td&gt; If it is possible to cut a word out, always cut it out.&lt;/td&gt;&lt;/tr&gt;  &lt;tr&gt;&lt;th valign="top"&gt;iv.&lt;/th&gt;&lt;td&gt; Never use the passive where you can use the active.&lt;/td&gt;&lt;/tr&gt;  &lt;tr&gt;&lt;th valign="top"&gt;v.&lt;/th&gt;&lt;td&gt; Never use a foreign phrase, a scientific word or a jargon word if you can think of an everyday English equivalent.&lt;/td&gt;&lt;/tr&gt;  &lt;tr&gt;&lt;th valign="top"&gt;vi.&lt;/th&gt;&lt;td&gt; Break any of these rules sooner than say anything outright barbarous.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-2732345832539837687?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/2732345832539837687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=2732345832539837687' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/2732345832539837687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/2732345832539837687'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2008/08/6-simples-rules-for-better-writing.html' title='6 Simple Rules for Better Writing'/><author><name>E. Bruce Shankle III</name><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-7230680.post-6472015838559703556</id><published>2008-07-05T03:01:00.000-07:00</published><updated>2008-12-12T22:11:22.657-08:00</updated><title type='text'>BikeE</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_H5ZRwjdwZDA/SG9G1FnbTJI/AAAAAAAAAXo/L7QgxlWj0OQ/s1600-h/IMG_0921.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_H5ZRwjdwZDA/SG9G1FnbTJI/AAAAAAAAAXo/L7QgxlWj0OQ/s320/IMG_0921.JPG" alt="" id="BLOGGER_PHOTO_ID_5219468371000249490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is picture of me on my &lt;a href="http://www.bikee.org/"&gt;BikeE&lt;/a&gt; that I bought through Craigslist recently. Even though the company who designed and built these is no longer in business, it is an amazing machine.&lt;br /&gt;&lt;br /&gt;This is a recumbent design that is very comfortable to ride for long distances. I commute on it from Bothell to Redmond WA (14 miles each way) several days a week. Unlike a standard bicycle, I'm in a relatively relaxed position while riding and nothing is ever sore: no neck pain, no shoulder pain, no numbness in the 'load-bearing' areas if you catch my drift.&lt;br /&gt;&lt;br /&gt;They are also fast. &lt;a href="http://www.hpv.on.ca/recumb.htm"&gt;Recumbents hold the bicycle world speed record&lt;/a&gt; (80+ MPH) largely because of the smaller aerodynamic profile compared to a traditional bike. As a reward, recumbents have been banned from most pro bike races which has limited their popularity. I guess that's a bit like Formula-1 cars being banned from stock-car racing. Lance Armstrong is rumored to have said he'd ride a recumbent in races if they were legal.&lt;br /&gt;&lt;br /&gt;In these economic times and with gas prices at an all-time high, I think a lot of us are going to have to consider alternative ways of commuting. I figured I could get some good exercise while saving gas, even if I do look a bit ridiculous. :)&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-6472015838559703556?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/6472015838559703556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=6472015838559703556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/6472015838559703556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/6472015838559703556'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2008/07/bikee.html' title='BikeE'/><author><name>E. Bruce Shankle III</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_H5ZRwjdwZDA/SG9G1FnbTJI/AAAAAAAAAXo/L7QgxlWj0OQ/s72-c/IMG_0921.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7230680.post-1929017305558089731</id><published>2008-06-10T09:40:00.000-07:00</published><updated>2008-06-10T09:54:03.298-07:00</updated><title type='text'>iPhone 2.0 Cheaper? Really?</title><content type='html'>My colleague Jacob Beaudoin, whom I call "The King of Avoiding Recurring Costs" pointed out something interesting about iPhone 2.0 that all of us iPhone-lovers seem to have overlooked.&lt;br /&gt;&lt;br /&gt;Having an iPhone in the US requires a 2 year contract with AT&amp;T. Looking at the minimum plan costs:&lt;br /&gt;&lt;br /&gt;iPhone 1.0 - Purchase price: $400 + 2 years at $60 per month = $1840&lt;br /&gt;iPhone 2.0 - Purchase price: $200 + 2 years at $70 per month = $1880&lt;br /&gt;&lt;br /&gt;Jacob asks, "Am I missing something or did they just raise the price and tell everybody they lowered it?"&lt;br /&gt;&lt;br /&gt;Thanks for keeping it real, Jacob.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-1929017305558089731?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/1929017305558089731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=1929017305558089731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/1929017305558089731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/1929017305558089731'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2008/06/iphone-20-cheaper-really.html' title='iPhone 2.0 Cheaper? Really?'/><author><name>E. Bruce Shankle III</name><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-7230680.post-602578679097803321</id><published>2008-04-26T04:34:00.000-07:00</published><updated>2008-04-26T05:31:20.929-07:00</updated><title type='text'>Music and Life - Microsoft - One Year Later</title><content type='html'>About a year ago I accepted a full-time position with Microsoft's DirectX team in Redmond, WA. It was opportunity I really couldn't turn down and to a large degree I felt like I had little room to grow in my previous job.&lt;br /&gt;&lt;br /&gt;I've been programming since I was about 12 years old and professionally now for almost 20 years. I have long been interested in graphics programming. My first programs on the TI 99/4A were all about graphics and every chance I had on the X-windows based systems in college I was doing something with graphics.&lt;br /&gt;&lt;br /&gt;Coming to Microsoft has really been the high point of my career as a software developer and I have learned so many things about the software development discipline.&lt;br /&gt;&lt;br /&gt;I actually was involved with Microsoft about 10 years ago when I was working for Stingray software. We had a 'field trip' to Redmond where I got to meet Anders Heijlsburg's team who were working on what ultimately became .NET. That trip made a big impression on me. It showed me that the engineers at Microsoft really know their stuff and they know how to build software.&lt;br /&gt;&lt;br /&gt;One thing Microsoft excels at is creating software and tools for software developers. The project I work on is one of many tools and technologies for other software developers and I really enjoy being a part of that.&lt;br /&gt;&lt;br /&gt;Something I find myself struggling with occasionally is work-life balance. I'm challenged by and interested in my work to the point that I feel like I could devote all my waking time to it. But that obviously isn't healthy in the long run. We all need some down time.&lt;br /&gt;&lt;br /&gt;Lately I've found myself listening to lectures and speeches by Alan Watts. There is is a &lt;a href="http://video.google.com/videosearch?sitesearch=&amp;q=allen+watts+music+and+life"&gt;great talk he gave&lt;/a&gt; that's been animated by the creator's of South Park which I've found very inspirational in this context. &lt;br /&gt;&lt;br /&gt;One of the things we joke about at work is "drinking from the fire hydrant." Meaning that there are enough challenges to keep even the brightest and hardest working individuals saturated.&lt;br /&gt;&lt;br /&gt;But I think answering to those challenges is what makes me like my job so much.&lt;br /&gt;&lt;br /&gt;Another point of job satisfaction for me is I am working with some of the most intelligent, creative, and driven people I've ever had the opportunity to work with. There is a lot to be said for that.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-602578679097803321?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/602578679097803321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=602578679097803321' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/602578679097803321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/602578679097803321'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2008/04/music-and-life-microsoft-one-year-later.html' title='Music and Life - Microsoft - One Year Later'/><author><name>E. Bruce Shankle III</name><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-7230680.post-5457654752113672878</id><published>2008-01-09T20:56:00.000-08:00</published><updated>2008-01-09T21:04:32.934-08:00</updated><title type='text'>Carolina Games Summit</title><content type='html'>Come join me at the &lt;a href="http://www.carolinagamessummit.com/index.php"&gt;Carolina Games Summit&lt;/a&gt; Saturday, January 26th, 2008 in Goldsboro, NC.&lt;br /&gt;&lt;br /&gt;"The Carolina Games Summit is a hybrid festival of industry speakers, video game tournaments, product promotions, exhibition booths, student recruitment and family fun!  Formerly known as the Goldsboro Gaming Expo (G2Expo) due to overwhelming popularity and growth the event was re-branded in June 2007 to Carolina Games Summit."&lt;br /&gt;&lt;br /&gt;Last year was truly a blast and this year promises to be even better.&lt;br /&gt;&lt;br /&gt;This year I'll be delivering an interesting &lt;a href="http://www.carolinagamessummit.com/page.php?page=Speakers"&gt;presentation for the key-note&lt;/a&gt; on video game graphics which will be a lot of fun for gamers and I promise to have some cool door prizes.&lt;br /&gt;&lt;br /&gt;I'd also love to follow up with those of you who attended last years discussion on breaking into the game industry.&lt;br /&gt;&lt;br /&gt;See you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-5457654752113672878?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/5457654752113672878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=5457654752113672878' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/5457654752113672878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/5457654752113672878'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2008/01/carolina-games-summit.html' title='Carolina Games Summit'/><author><name>E. Bruce Shankle III</name><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-7230680.post-3262748251655272921</id><published>2007-12-12T01:16:00.000-08:00</published><updated>2007-12-12T01:18:58.079-08:00</updated><title type='text'>The 4 Imperatives Of Leadership</title><content type='html'>Quoted from &lt;a href="http://www.stephencovey.com/blog/?p=6"&gt;this great writeup&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;   1. The first is to &lt;span style="font-weight:bold;"&gt;inspire trust&lt;/span&gt;. You build relationships of trust through both your character and competence and you also extend trust to others. You show others that you believe in their capacity to live up to certain expectations, to deliver on promises, and to achieve clarity on key goals. You don’t inspire trust by micromanaging and second guessing every step people make.&lt;br /&gt;&lt;br /&gt;   2. The second is to &lt;span style="font-weight:bold;"&gt;clarify purpose&lt;/span&gt;. Great leaders involve their people in the communication process to create the goals to be achieved. If people are involved in the process, they psychologically own it and you create a situation where people are on the same page about what is really important—mission, vision, values, and goals.&lt;br /&gt;&lt;br /&gt;   3. The third is to &lt;span style="font-weight:bold;"&gt;align systems&lt;/span&gt;. This means that you don’t allow there to be conflict between what you say is important and what you measure. For instance, many times organizations claim that people are important but in fact the structures and systems, including accounting, make them an expense or cost center rather than an asset and the most significant resource.&lt;br /&gt;&lt;br /&gt;   4. The fourth is the fruit of the other three—&lt;span style="font-weight:bold;"&gt;unleashed talent&lt;/span&gt;. When you inspire trust and share a common purpose with aligned systems, you empower people. Their talent is unleashed so that their capacity, their intelligence, their creativity, and their resourcefulness is utilized."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-3262748251655272921?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/3262748251655272921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=3262748251655272921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/3262748251655272921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/3262748251655272921'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2007/12/4-imperatives-of-leadership.html' title='The 4 Imperatives Of Leadership'/><author><name>E. Bruce Shankle III</name><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-7230680.post-1956156653898543888</id><published>2007-11-22T00:52:00.000-08:00</published><updated>2007-11-22T01:03:21.989-08:00</updated><title type='text'>Minimum Windows Application</title><content type='html'>Today we are spoiled by tools like &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/products/aa700831.aspx"&gt;Visual Studio&lt;/a&gt; which come complete with wizards and project templates to help us kick-start projects. However, sometimes it's good to go back to the basics just so we don't forget how everything works under the hood. &lt;br /&gt;&lt;br /&gt;Tonight I decided I just wanted a minimal windows application with a single window. I was surprised by how long this took me to recall. I suppose I need to crack open &lt;a href="http://www.charlespetzold.com/pw5/index.html"&gt;Petzold's book&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you're interested in how I got the syntax coloring into my blog, check out the &lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/12/VisualStudioAddins/default.aspx#S9"&gt;Visual Studio Add-Ins Every Developer Should Download Now&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here is my minimum windows app:&lt;br /&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green128\blue0;\red255\green255\blue255;\red0\green0\blue255;\red0\green0\blue0;\red163\green21\blue21;}??\fs20 \cf1 //--------------------------------------------------------------------------------\par ??//Minimal windows application\par ??//by Bruce Shankle\par ??\cf3 #include\cf0  \cf5 &amp;lt;windows.h&amp;gt;\par ??\par ??\cf1 //--------------------------------------------------------------------------------\par ??//Window procedure callback\par ??\cf0 LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )\par ??\{\par ??\tab \cf3 switch\cf0  (message) \par ??    \{\par ??       \cf3 case\cf0  WM_DESTROY:\par ??            PostQuitMessage(0);\par ??            \cf3 break\cf0 ;\par ??\par ??        \cf3 default\cf0 :\par ??            \cf3 return\cf0  DefWindowProc(hWnd, message, wParam, lParam);\par ??    \}\par ??\tab \cf3 return\cf0  0;\par ??\}\par ??\par ??\cf1 //--------------------------------------------------------------------------------\par ??//Entry point\par ??\cf3 int\cf0  WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, \cf3 int\cf0  nCmdShow)\par ??\{\par ??\tab \cf1 //--------------------------------------------------------------------------------\par ??\cf0 \tab \cf1 //Register a window class\par ??\cf0 \tab WNDCLASSEX wcex=\{0\};\par ??    wcex.cbSize = \cf3 sizeof\cf0 (WNDCLASSEX);\par ??    wcex.lpfnWndProc    = WndProc;    \par ??    wcex.hInstance      = hInstance;\par ??    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW);    \par ??    wcex.lpszClassName  = L\cf5 "MinWinApp"\cf0 ;    \par ??    \cf3 if\cf0 ( !RegisterClassEx(&amp;amp;wcex))\par ??\tab \tab \cf3 return\cf0  -1;\par ??\par ??\tab \cf1 //--------------------------------------------------------------------------------\par ??\cf0 \tab \cf1 // Create window (640 x 480 client area)\par ??\cf0     RECT rc = \{ 0, 0, 640, 480 \};\par ??    AdjustWindowRect( &amp;amp;rc, WS_OVERLAPPEDWINDOW, FALSE );\par ??    HWND hWnd = CreateWindow( L\cf5 "MinWinApp"\cf0 , L\cf5 "Minimum Windows App"\cf0 , WS_OVERLAPPEDWINDOW,\par ??\tab \tab CW_USEDEFAULT, CW_USEDEFAULT, rc.right - rc.left, rc.bottom - rc.top, NULL, NULL, hInstance, NULL);\par ??    \cf3 if\cf0 ( !hWnd )\par ??        \cf3 return\cf0  -2;\par ??\par ??\tab \cf1 //--------------------------------------------------------------------------------\par ??\cf0 \tab \cf1 //Show the window\par ??\cf0     ShowWindow( hWnd, nCmdShow );\par ??\par ??\tab \cf1 //--------------------------------------------------------------------------------\par ??\cf0 \tab \cf1 //Process messages\par ??\cf0 \tab MSG msg = \{0\};\par ??    \cf3 while\cf0 ( GetMessage( &amp;amp;msg, NULL, 0, 0 ) )\par ??    \{\par ??        TranslateMessage( &amp;amp;msg );\par ??        DispatchMessage( &amp;amp;msg );\par ??    \}\par ??\par ??\tab \cf3 return\cf0  0;\par ??\}\par ??\par ??\par ??}&lt;br /&gt;--&gt;&lt;br /&gt;&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white;"&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;//--------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;//Minimal windows application&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;//by Bruce Shankle&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;#include&lt;/span&gt; &lt;span style="color: #a31515;"&gt;&amp;lt;windows.h&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;//--------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;//Window procedure callback&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )&lt;/p&gt;&lt;p style="margin: 0px;"&gt;{&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;switch&lt;/span&gt; (message) &lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;case&lt;/span&gt; WM_DESTROY:&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; PostQuitMessage(0);&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;default&lt;/span&gt;:&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; DefWindowProc(hWnd, message, wParam, lParam);&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; 0;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;}&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;//--------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;//Entry point&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, &lt;span style="color: blue;"&gt;int&lt;/span&gt; nCmdShow)&lt;/p&gt;&lt;p style="margin: 0px;"&gt;{&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//--------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//Register a window class&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WNDCLASSEX wcex={0};&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wcex.cbSize = &lt;span style="color: blue;"&gt;sizeof&lt;/span&gt;(WNDCLASSEX);&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wcex.lpfnWndProc&amp;nbsp;&amp;nbsp;&amp;nbsp; = WndProc;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wcex.hInstance&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; = hInstance;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wcex.hbrBackground&amp;nbsp; = (HBRUSH)(COLOR_WINDOW);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; wcex.lpszClassName&amp;nbsp; = L&lt;span style="color: #a31515;"&gt;"MinWinApp"&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;( !RegisterClassEx(&amp;amp;wcex))&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; -1;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//--------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;// Create window (640 x 480 client area)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RECT rc = { 0, 0, 640, 480 };&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AdjustWindowRect( &amp;amp;rc, WS_OVERLAPPEDWINDOW, FALSE );&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HWND hWnd = CreateWindow( L&lt;span style="color: #a31515;"&gt;"MinWinApp"&lt;/span&gt;, L&lt;span style="color: #a31515;"&gt;"Minimum Windows App"&lt;/span&gt;, WS_OVERLAPPEDWINDOW,&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CW_USEDEFAULT, CW_USEDEFAULT, rc.right - rc.left, rc.bottom - rc.top, NULL, NULL, hInstance, NULL);&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt;( !hWnd )&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; -2;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//--------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//Show the window&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ShowWindow( hWnd, nCmdShow );&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//--------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//Process messages&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSG msg = {0};&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;while&lt;/span&gt;( GetMessage( &amp;amp;msg, NULL, 0, 0 ) )&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; TranslateMessage( &amp;amp;msg );&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; DispatchMessage( &amp;amp;msg );&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; 0;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;}&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-1956156653898543888?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/1956156653898543888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=1956156653898543888' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/1956156653898543888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/1956156653898543888'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2007/11/minimum-windows-application.html' title='Minimum Windows Application'/><author><name>E. Bruce Shankle III</name><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-7230680.post-8783269385372364848</id><published>2007-11-21T04:08:00.000-08:00</published><updated>2007-11-21T04:17:56.288-08:00</updated><title type='text'>Practice Makes Perfect</title><content type='html'>Dr. Lewis Pulsipher, a professor at Wake Tech (where I spoke last year) has an inspirational writeup for the Games and Simulation students &lt;a href="http://teachgamedesign.blogspot.com/2007/11/practice-makes-perfect-you-dont-start.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;According to my friend &lt;a href="http://www.glaister.com/"&gt;Andy Glaister&lt;/a&gt;, you need to strive for 3 things:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Passion&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Persistence&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Attention to Detail&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;These are the makings of successful people who are happy and enjoying what they do.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-8783269385372364848?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/8783269385372364848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=8783269385372364848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/8783269385372364848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/8783269385372364848'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2007/11/practice-makes-perfect.html' title='Practice Makes Perfect'/><author><name>E. Bruce Shankle III</name><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-7230680.post-7859206998952920859</id><published>2007-07-16T00:03:00.000-07:00</published><updated>2007-07-29T12:55:54.653-07:00</updated><title type='text'>Building an Airplane</title><content type='html'>I'm at it again. After a false-start on an RV-7, I'm finally back working on a Cozy Mark IV.&lt;br /&gt;&lt;br /&gt;Read more on my &lt;a href="http://www.bruceshankle.com/blogs/cozy.php"&gt;builder blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-7859206998952920859?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/7859206998952920859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=7859206998952920859' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/7859206998952920859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/7859206998952920859'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2007/07/building-airplane.html' title='Building an Airplane'/><author><name>E. Bruce Shankle III</name><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-7230680.post-117557533132445488</id><published>2007-04-02T21:37:00.000-07:00</published><updated>2007-04-02T21:43:26.616-07:00</updated><title type='text'>Transcribing Bruce Hornsby</title><content type='html'>I've been playing &lt;a href="http://www.brucehornsby.com/"&gt;Bruce Hornsby's&lt;/a&gt; music for a long time now. His recent album, &lt;a href="http://www.brucehornsby.com/album_intersections.htm"&gt;Intersection&lt;/a&gt;s, has a great solo rendition of his hit song The Way It Is.&lt;br /&gt;&lt;br /&gt;It is so beautiful that I've set out to create the sheet music for the tune. So far I've got 1 page done. &lt;a href="http://www.bruceshankle.com/transcriptions/twii.pdf"&gt;Get it here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Is anyone out there interested in helping me out with this project? I'm reaching the limits of my ear and ability to get the notes correctly notated. (I'm sure I'm off a few beats even on this first page).&lt;br /&gt;&lt;br /&gt;But it sounds pretty close when I play it on the piano at least.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-117557533132445488?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/117557533132445488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=117557533132445488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/117557533132445488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/117557533132445488'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2007/04/transcribing-bruce-hornsby.html' title='Transcribing Bruce Hornsby'/><author><name>E. Bruce Shankle III</name><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-7230680.post-117255289596111556</id><published>2007-02-26T21:05:00.000-08:00</published><updated>2007-02-26T21:08:16.346-08:00</updated><title type='text'>GRAW 2</title><content type='html'>We've been working hard over at &lt;a href="http://www.redstorm.com/"&gt;Red Storm&lt;/a&gt; on &lt;a href="http://ghostrecon.us.ubi.com/"&gt;GRAW 2&lt;/a&gt; online. It'll be out on March 8th.&lt;br /&gt;&lt;br /&gt;If you have an Xbox 360 be sure to check it out. If you don't have a 360, go get one!&lt;br /&gt;&lt;br /&gt;I think you're going to enjoy it!&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-117255289596111556?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/117255289596111556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=117255289596111556' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/117255289596111556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/117255289596111556'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2007/02/graw-2.html' title='GRAW 2'/><author><name>E. Bruce Shankle III</name><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-7230680.post-116996307395805936</id><published>2007-01-27T21:27:00.000-08:00</published><updated>2007-01-27T21:44:33.973-08:00</updated><title type='text'>G2 Expo - 2007 - A Huge Success!</title><content type='html'>Thanks to all who joined us at the 2nd annual G2 Expo in Goldsboro yesterday.&lt;br /&gt;&lt;br /&gt;I had a lot of fun and I'm happy that so many of you were able to attend my talk on breaking into the industry (and of course, play Bounce!).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bruceshankle.com/g2expo/DreamToReality.pdf"&gt;Here is a link &lt;/a&gt;to slides from my presentation for all those who were interested.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bruceshankle.com/g2expo/BreakingIn.pdf"&gt;Here is a write-up&lt;/a&gt; (which for some reason I forgot to mention) from an artist that was recently hired at &lt;a href="http://www.redstorm.com"&gt;Red Storm&lt;/a&gt;: Chuck Wilson. It's packed with good information on finding a job.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.redstorm.com/employment/"&gt;Here are current job listings&lt;/a&gt; for Red Storm.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.epicgames.com/epic_jobs.html"&gt;Here are current job listings &lt;/a&gt;for Epic Games.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/search?hl=en&amp;q=game+jobs&amp;btnG=Google+Search"&gt;Here are more links&lt;/a&gt; to game industry jobs.&lt;br /&gt;&lt;br /&gt;Remember my key points today:&lt;br /&gt;1. Determine what type of job YOU WANT to go after in this industry&lt;br /&gt;2. QUALIFY YOURSELF for that job (and be real about it!)&lt;br /&gt;3. MARKET yourself and your skills and have SOMETHING to show and do some NETWORKING&lt;br /&gt;4. When given an opportunity, MAKE AN IMPRESSION&lt;br /&gt;5. LEARN, READY, STUDY&lt;br /&gt;6. PERSIST!!!!&lt;br /&gt;&lt;br /&gt;Share you success story with the rest of us.&lt;br /&gt;&lt;br /&gt;Other resources:&lt;br /&gt;&lt;a href="http://www.igda.org/"&gt;Join the IGDA&lt;/a&gt; and attend the &lt;a href="http://www.igda.org/nctriangle/"&gt;local meetings.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cliffyb.com/rants/how-to-get-hired.shtml"&gt;Here are Cliff Bleszinski's&lt;/a&gt; thoughts about breaking-in.&lt;br /&gt;&lt;br /&gt;To the guy who asked about ideas: &lt;a href="http://www.cliffyb.com/rants/have-great-ideas.shtml"&gt;read this.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'm looking forward to seeing you all again next year!&lt;br /&gt;&lt;br /&gt;Email me if you have questions.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bruceshankle.com/"&gt;My home page is here.&lt;/a&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-116996307395805936?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/116996307395805936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=116996307395805936' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116996307395805936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116996307395805936'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2007/01/g2-expo-2007-huge-success.html' title='G2 Expo - 2007 - A Huge Success!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-116961405343109856</id><published>2007-01-23T20:43:00.000-08:00</published><updated>2007-01-23T20:47:33.450-08:00</updated><title type='text'>Wake Tech Presentation</title><content type='html'>Join me at Wake Tech tomorrow for my presentation:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;From Dream to Reality - Your Game Development Career&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;In this session you'll hear a practical insider's perspective on finding where your creative strengths fit within the electronic entertainment industry. You will compare and contrast popular perceptions of game development careers with the day-to-day lives of actual game developers working on AAA titles. A refreshing dose of reality, this talk will broaden your view of the available opportunities and help you determine your path on this exciting career journey!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.igda.org/Forums/showthread.php?threadid=25664"&gt;More info here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll be delivering a similar presentation at the &lt;a href="http://www.g2expo.com/"&gt;G2Expo&lt;/a&gt; on Saturday January 27th in Goldsboro.&lt;br /&gt;&lt;br /&gt;After these presentations I'll put my slides up on my &lt;a href="http://www.bruceshankle.com/"&gt;home page&lt;/a&gt; in case you miss it.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-116961405343109856?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/116961405343109856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=116961405343109856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116961405343109856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116961405343109856'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2007/01/wake-tech-presentation.html' title='Wake Tech Presentation'/><author><name>E. Bruce Shankle III</name><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-7230680.post-116720580222812482</id><published>2006-12-26T23:48:00.000-08:00</published><updated>2006-12-26T23:50:02.240-08:00</updated><title type='text'>The Nintendo Wii</title><content type='html'>I have a friend who works for a video game store and he was able to snag a Wii for me on Dec. 23rd.&lt;br /&gt;&lt;br /&gt;Tonight, I set it up in our living room while family was over.&lt;br /&gt;&lt;br /&gt;I only had the included Wii Sports and the one controller that comes with the console.&lt;br /&gt;&lt;br /&gt;After a few minutes, the Wii started attracting folks to the living room. Then I witnessed my entire family have 2 hours of solid fun with laughter, cheering, snickering, and hi-fives as we all played a couple of rounds of Wii bowling.&lt;br /&gt;&lt;br /&gt;I have never seen a game console elicit so much enjoyment from so many disparate age groups: from a 2.5 to 60+.&lt;br /&gt;&lt;br /&gt;And to top it all off, it is so intuitive to use, there is practically zero learning curve.&lt;br /&gt;&lt;br /&gt;Everyone loved it, and everyone wants to play again. And those who don't even own a game console, now want a Wii. My brother-in-law now wants a Wii instead of a XBox 360.&lt;br /&gt;&lt;br /&gt;I am simply amazed.&lt;br /&gt;&lt;br /&gt;Nintendo took a huge risk and I think it's gonna pay off for them.&lt;br /&gt;&lt;br /&gt;Congrats Nintendo!&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-116720580222812482?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/116720580222812482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=116720580222812482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116720580222812482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116720580222812482'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/12/nintendo-wii.html' title='The Nintendo Wii'/><author><name>E. Bruce Shankle III</name><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-7230680.post-116667931121370706</id><published>2006-12-20T21:32:00.000-08:00</published><updated>2007-01-22T12:17:03.986-08:00</updated><title type='text'>Join me at the G2 Expo, January 27, 2007</title><content type='html'>I've been invited to speak at the &lt;a href="http://www.g2expo.com/portal/page.php?page=Speakers"&gt;G2 Expo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In my session you'll hear a practical insider's perspective on finding where your creative strengths fit within the electronic entertainment industry. You will compare and contrast popular perceptions of game development careers with the day-to-day lives of actual game developers working on AAA titles. A refreshing dose of reality, this talk will broaden your view of the available opportunities and help you determine your path on this exciting career journey!&lt;br /&gt;&lt;br /&gt;Come out and join the fun and learn about the video game industry!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-116667931121370706?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/116667931121370706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=116667931121370706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116667931121370706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116667931121370706'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/12/join-me-at-g2-expo-january-27-2007.html' title='Join me at the G2 Expo, January 27, 2007'/><author><name>E. Bruce Shankle III</name><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-7230680.post-116667903956228246</id><published>2006-12-20T21:27:00.000-08:00</published><updated>2006-12-20T21:30:39.573-08:00</updated><title type='text'>Do what you love to do!</title><content type='html'>It looks like &lt;a href="http://www.ethanwiner.com/rondo.html"&gt;Ethan Winer&lt;/a&gt; is now selling his &lt;a href="http://www.cooltea.com/stores/ethan/"&gt;Cello Rondo DVD online&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Awesome! Ethan, I wish you the best.&lt;br /&gt;&lt;br /&gt;Ethan is a great example of someone just doing what they love and being successful.&lt;br /&gt;&lt;br /&gt;There's a great lesson in that for all of us.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-116667903956228246?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/116667903956228246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=116667903956228246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116667903956228246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116667903956228246'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/12/do-what-you-love-to-do.html' title='Do what you love to do!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-116279656777585818</id><published>2006-11-05T22:57:00.000-08:00</published><updated>2006-11-05T23:02:47.790-08:00</updated><title type='text'>4.7 Million Lines of Code: XBox 360 HD-DVD</title><content type='html'>According to Shaheen Gandhi, a software engineer at Microsoft, the HD-DVD playback system for the XBox 360 is comprised of about 4.7 million lines of code.&lt;br /&gt;&lt;br /&gt;To me, that is utterly amazing! &lt;a href="http://blogs.msdn.com/xboxteam/archive/2006/11/03/emergence-day.aspx"&gt;&lt;br /&gt;&lt;br /&gt;Read it yourself here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All that, just to watch movies.&lt;br /&gt;&lt;br /&gt;From the article:&lt;br /&gt;&lt;br /&gt;"The Xbox 360 HD DVD Player, for the most part, is an entirely software based implementation.  Other players on the market have specialized chips (called DSPs) that decode things like H.264, MPEG, VC1, DTS, Dolby Digital, and other codecs.  Much like how backwards compatibility for Xbox 1 works on Xbox 360, the heavy parts of HD DVD are all done on Xbox 360's triple-core CPU."&lt;br /&gt;&lt;br /&gt;"All 6 of Xbox 360's hardware threads are hard at work while playing back an HD DVD.  At the moment, the player software pushes Xbox 360 harder than any other (save, perhaps, Gears of War during some particularly busy parts of the game)."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-116279656777585818?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/116279656777585818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=116279656777585818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116279656777585818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116279656777585818'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/11/47-million-lines-of-code-xbox-360-hd.html' title='4.7 Million Lines of Code: XBox 360 HD-DVD'/><author><name>E. Bruce Shankle III</name><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-7230680.post-116088981545331921</id><published>2006-10-14T22:22:00.000-07:00</published><updated>2006-10-14T22:23:35.466-07:00</updated><title type='text'>Persistence</title><content type='html'>"Nothing in the world can take the place of persistence. Talent will not; nothing is more common than unsuccessful men with talent. Genius will not; unrewarded genius is almost a proverb. Education will not; the world is full of educated derelicts. Persistence and determination alone are omnipotent. The slogan 'Press On' has solved and always will solve the problems of the human race."&lt;br /&gt;&lt;br /&gt;-Calvin Coolidge, President of the United States 1924-1929&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-116088981545331921?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/116088981545331921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=116088981545331921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116088981545331921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/116088981545331921'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/10/persistence.html' title='Persistence'/><author><name>E. Bruce Shankle III</name><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-7230680.post-115816275029323938</id><published>2006-09-13T08:43:00.000-07:00</published><updated>2006-09-13T08:52:44.656-07:00</updated><title type='text'>Who are these people?</title><content type='html'>If you're a programmer, you've no doubt heard of head-hunters. Head-hunters are like talent-scouts for the software development industry who always seem to find you no matter where you work. They want to tell you about some new position they have at some wonderful software company and they think you'd be a great fit.&lt;br /&gt;&lt;br /&gt;Recently a head-hunter sent me notice of an opening (with a company I essentially resigned from over a decade ago).&lt;br /&gt;&lt;br /&gt;I chuckled when I read the qualifications requirements because it's just absurd to think any human being fits this bill. The requirements amount to a master-of-all-trades, jack-of-none.&lt;br /&gt;&lt;br /&gt;Here's the posting:&lt;br /&gt;&lt;br /&gt;Title:                 Web Developer &lt;br /&gt;Department:                  Engineering Department&lt;br /&gt;&lt;br /&gt;POSITION SUMMARY&lt;br /&gt;&lt;br /&gt;•           Works on complex problems where analysis of situations or data requires evaluation of intangible variables&lt;br /&gt;•           Exercises independent judgment in developing methods, techniques, and evaluation criterion for obtaining results. &lt;br /&gt;•           Performs development of the presentation tier of the company's systems while still maintaining a solid understanding of interactions with the business and data tiers.&lt;br /&gt;•           Has a flair for creating visually stimulating and feature rich web pages&lt;br /&gt;•           Has a good understanding of the company's business, products and clients and is passionate about their work.&lt;br /&gt;•           Self starter, willing to take on large challenges.&lt;br /&gt;&lt;br /&gt;ESSENTIAL JOB FUNCTIONS:&lt;br /&gt;•           Develop new systems using the company standards. Has design skills. Must be able to develop complex software solutions.&lt;br /&gt;•           Perform development of the presentation tier of the company's systems, including any required “code behind” business logic to support that tier.&lt;br /&gt;•           Proactive in recommending updates and improvements to existing systems.&lt;br /&gt;•           Fix, improve and extend existing code bases.&lt;br /&gt;•           Proactively suggest areas of improvement, alternative solutions and designs, third party tools, etc. to solve the problems at hand.&lt;br /&gt;•           Frequently called upon to solve problems; has strong problem solving skills and the ability and desire to learn new technologies rapidly&lt;br /&gt;•           Strong written and verbal interpersonal skills. Works well in a team.&lt;br /&gt;•           Able to deal effectively with internal and external groups including clients and vendors&lt;br /&gt;•           Create polished, professional web based user interface code to run the systems.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;JOB SPECIFICATIONS:&lt;br /&gt;•           Requires BS degree.&lt;br /&gt;•           Requires 5 or more years experience in software development specializing in the presentation tier.&lt;br /&gt;•           Required areas of expertise:&lt;br /&gt;o          .Net Technologies (C#/VB.Net, ASP.Net), Visual Studio .Net&lt;br /&gt;o          Strong domain expertise in ASP.Net OO programming techniques&lt;br /&gt;o          ASP, VBScript, VB, COM&lt;br /&gt;o          HTML, DHTML, ASP, CSS, Flash,java_script&lt;br /&gt;o          Data access via ADO, ADO.Net. Working familiarity with MS SQL 2000 and T-SQL.&lt;br /&gt;o          Service Oriented Architecture, XML, SOAP, WSDL, XSLT&lt;br /&gt;o          Web development on the Windows Server platforms, IIS&lt;br /&gt;o          Understanding of browser compatibility limitations across all versions of IE, Netscape, Firefox, Opera, Mac, etc.&lt;br /&gt;•           Desirable areas of expertise:&lt;br /&gt;o          Programming and scripting languages such as C++, Perl, PHP&lt;br /&gt;o          Data Communications areas such as TCP/IP, DNS, FTP&lt;br /&gt;o          Database technologies such as  SQL Server, Oracle, mySQL, DB2, SQL, ETL, Data Warehousing. Database architecture experience.&lt;br /&gt;o          Xpath, X.500/LDAP&lt;br /&gt;o          Tools such as UML, ER, Rational Rose&lt;br /&gt;o          Methodologies such as RUP&lt;br /&gt;o          Usability, Human Factors expertise.&lt;br /&gt;•           Strong understanding of modern software architecture and approaches including:&lt;br /&gt;&lt;br /&gt;o          OOP theory and practices&lt;br /&gt;o          Web Services&lt;br /&gt;o          Templates (ATL)&lt;br /&gt;o          Threading, concurrency&lt;br /&gt;o          Algorithms, sorting/taxonomies&lt;br /&gt;o          Caching&lt;br /&gt;o          High Availability/Reliability&lt;br /&gt;&lt;br /&gt;•           Strong understanding of modern software technology. Ongoing efforts to maintain skills and knowledge at the state of the art.&lt;br /&gt;&lt;br /&gt;•           Ability to do all levels of hands on work in software engineering.&lt;br /&gt;•           Proven ability to work independently or in a team environment&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-115816275029323938?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/115816275029323938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=115816275029323938' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115816275029323938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115816275029323938'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/09/who-are-these-people.html' title='Who are these people?'/><author><name>E. Bruce Shankle III</name><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-7230680.post-115492307484522540</id><published>2006-08-06T20:54:00.000-07:00</published><updated>2009-01-08T22:46:53.871-08:00</updated><title type='text'>My Musical Side</title><content type='html'>I've been playing piano for 21 years now and I really like Bruce Hornby's music. This is me merging two of his tunes in my own improv, The Way It Is from 1986 and Changes Made from 2005, recorded today in our living room: &lt;a href="http://www.bruceshankle.com/mymusic/Bruce%20Shankle%20Improvisation%201.mp3"&gt;Listen (5MB mp3 file)&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-115492307484522540?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/115492307484522540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=115492307484522540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115492307484522540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115492307484522540'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/08/my-musical-side.html' title='My Musical Side'/><author><name>E. Bruce Shankle III</name><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-7230680.post-115488155986140182</id><published>2006-08-06T09:24:00.000-07:00</published><updated>2006-08-06T09:25:59.880-07:00</updated><title type='text'>Newsletter 96</title><content type='html'>Seems my &lt;a href="http://www.bruceshankle.com/_mgxroot/page_10765.html"&gt;windows movie maker utility&lt;/a&gt; actually adds a little value for some folks. It made it &lt;a href="http://www.windowsmoviemakers.net/PapaJohn/96/Special_Video_Effects.aspx"&gt;into the newsletter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Coolness.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-115488155986140182?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/115488155986140182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=115488155986140182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115488155986140182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115488155986140182'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/08/newsletter-96.html' title='Newsletter 96'/><author><name>E. Bruce Shankle III</name><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-7230680.post-115230767197983299</id><published>2006-07-07T14:17:00.000-07:00</published><updated>2006-07-07T21:20:35.116-07:00</updated><title type='text'>My Master Chief</title><content type='html'>Here's is a painting I recently did on a 3' x 2' canvas. This is my rendition of a screenshot from the Halo 3 trailer from E3. I did this with canned liquid acrylic-latex from the Wal-Mart hardware department. I only bought 5 colors: red, yellow, blue, black, and white. I mixed the paints on paper plates and used a $0.50 brush. I painted the canvas flat so the paint wouldn't run as it was so watery.&lt;br&gt;&lt;br /&gt;&lt;img src="http://www.bruceshankle.com/masterchief/mymasterchief.jpg"&gt;&lt;br&gt;&lt;br /&gt;I'm sure this painting would make a 'real' art-lover cringe, but it's a one-of-a-kind, it's big, and my 2 year old son recognizes it (he calls him "Chee!") so it can't be all that bad.&lt;br /&gt;&lt;br /&gt;I've proudly hung it over my desk.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bruceshankle.com/masterchief/"&gt;Here is a comparison&lt;/a&gt; to the original for those interested.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-115230767197983299?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/115230767197983299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=115230767197983299' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115230767197983299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115230767197983299'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/07/my-master-chief.html' title='My Master Chief'/><author><name>E. Bruce Shankle III</name><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>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7230680.post-115099372200771620</id><published>2006-06-22T09:18:00.000-07:00</published><updated>2006-06-22T09:28:42.026-07:00</updated><title type='text'>Technologists and Business</title><content type='html'>I spoke with a good friend living in New York last night. He'd made a very interesting observation about the place where he works.&lt;br /&gt;&lt;br /&gt;Over the last several years they have created libraries and tools that make it at least twice as easy to provide consulting services. However, all this work hasn't resulted in a net increase in revenue for the company. In other words, even though they are really busy and making great strides on the tech, the company's financials are in stasis.&lt;br /&gt;&lt;br /&gt;To me, this is a classic example of problems faced by businesses run solely by technologists and I have seen this same problem in my own pursuits over the years.&lt;br /&gt;&lt;br /&gt;I suggested he got some advice by a non-technical person: a marketing specialist or a sales specialist.&lt;br /&gt;&lt;br /&gt;We wondered if programmers could temporarily wear the hat of a marketing person. It's an interesting thing to think about.&lt;br /&gt;&lt;br /&gt;At least in my life, seeing the value in non-technical professions like that has been slow to occur but I've developed a deep appreciation for those skills in the last 3 years or so having seen first-hand how great marketing usually wins out over great tech.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-115099372200771620?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/115099372200771620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=115099372200771620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115099372200771620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115099372200771620'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/06/technologists-and-business.html' title='Technologists and Business'/><author><name>E. Bruce Shankle III</name><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-7230680.post-115003631223333345</id><published>2006-06-11T07:22:00.000-07:00</published><updated>2006-06-11T11:26:31.933-07:00</updated><title type='text'>Halo and Halo 2 Artificial Intelligence</title><content type='html'>If you've ever played Halo or Halo 2 (especially on the Legendary setting) you will have noticed that enemy character intelligence in the Halo series is rather remarkable compared to many other video games.&lt;br /&gt;&lt;br /&gt;One of the coolest features about the AI in Halo and  Halo 2 is that enemy characters have a set of simulated senses (vision and hearing) that tell each one about their world as opposed to say the AI loop being able to determine your location my calling 'getMasterChiefsCoordinates();'.&lt;br /&gt;&lt;br /&gt;I recently stumbled onto an &lt;a href="http://www.stuffo.com/halo2-ai.htm"&gt;interview with Chris Butcher&lt;/a&gt;, the guy at Bungie behind Halo's AI, and I find it a great read if your interested in video game development.&lt;br /&gt;&lt;br /&gt;What I think would be neat would be to create a simple 2D game that simulates Halo's AI loop for an array of little blips on the screen and put up a few walls.&lt;br /&gt;&lt;br /&gt;Here's a quote &lt;a href="http://www.stuffo.com/halo2-ai.htm"&gt;from the article&lt;/a&gt;:&lt;br /&gt;'This is a key point in how the Halo AI works: Because the characters are forced to perceive the world around them, they are, in many ways, limited like the player by their senses -- in their overall awareness of what is going on around them. This limitation creates more lifelike behavior for the AI characters, as they can be surprised, make mistakes and decisions based on their perceptions of what's going on around them. As Chris puts it, "there is really very little difference between a player and an artificial intelligence character in Halo."'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-115003631223333345?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/115003631223333345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=115003631223333345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115003631223333345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/115003631223333345'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/06/halo-and-halo-2-artificial.html' title='Halo and Halo 2 Artificial Intelligence'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114841417943815297</id><published>2006-05-23T12:49:00.000-07:00</published><updated>2006-05-23T13:00:09.156-07:00</updated><title type='text'>Project SafetySim: Airport Information System</title><content type='html'>I've been toying with an idea I'm currently calling 'SafetySim'. The idea is to provide pilots with a 3D, visual, interactive way to learn about the airspace and layout of an unfamiliar airport. My first stab at this idea has been to tackle the local class C airport, Raleigh Durham (KRDU). Here is a short video of some of the features I'm working on. This is video footage of the prototype running on an Athlon XP 3000+ with a Geforce 6600GT card. It works almost as well on lower end machines as long as they have  3D acceleration. Share your thoughts in the comments, or &lt;a href="http://www.bruceshankle.com"&gt;contact me&lt;/a&gt; to discuss.&lt;br /&gt;&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" align="middle" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DuAAAAG7ggqAHSiJjpW0D3w4aYTWpp7qPBx7fA1YNnIbuvgyCnul45o3bmpdxe9G2vNs8aihrp9Um6ufWshBOffEGs6PkKpi6I12ndqiy_c-NHVabZYm4e-d-H3FiWgTHelQ8QjGUzOPKL6xNICHnOrH_qDrHCFCW4a4jZfeL2ZYZ637ENrTHkKufGPbSYgPKWHBAWfV_KGwGMkWDqDvKvW8d6HHk-Khzy4FmOPo0sahxL6DcllaORj9Z_BbxWfi2jwYrHA%26sigh%3DMTlfV-S6sTrIPmsr8oeRjg8pEqQ%26begin%3D0%26len%3D65466%26docid%3D-2285613122490529110&amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer%3Fapp%3Dvss%26contentid%3D484104d8eb4d1a1e%26second%3D5%26itag%3Dw320%26urlcreated%3D1148413568%26sigh%3D1RK43H1W6m5_at3iSLqayowunLk&amp;playerId=-2285613122490529110" allowScriptAccess="sameDomain" quality="best" bgcolor="#ffffff" scale="noScale" wmode="window" salign="TL"  FlashVars="playerMode=embedded"&gt; &lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114841417943815297?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114841417943815297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114841417943815297' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114841417943815297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114841417943815297'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/05/project-safetysim-airport-information.html' title='Project SafetySim: Airport Information System'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114647394914404313</id><published>2006-05-01T01:54:00.000-07:00</published><updated>2006-05-01T01:59:09.160-07:00</updated><title type='text'>Congratulations To Me!</title><content type='html'>I completed my bi-annual flight review the other day which means I've once again demonstrated the ability to not kill myself while flying a single-engine, land-based airplane.&lt;br /&gt;&lt;br /&gt;I also recently joinged the &lt;a href="http://www.wingsofcarolina.org/"&gt;Wings of Carolina Flying Club&lt;/a&gt;. It sure is nice to have access to so many good resources as I begin work on my instrument rating.&lt;br /&gt;&lt;br /&gt;If you're in the Raleigh, Cary, NC area, and you're interested in flying, come out to the club and get started!&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114647394914404313?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114647394914404313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114647394914404313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114647394914404313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114647394914404313'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/05/congratulations-to-me.html' title='Congratulations To Me!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114595304044353712</id><published>2006-04-25T01:15:00.000-07:00</published><updated>2006-04-25T19:21:08.826-07:00</updated><title type='text'>The Shankle Sudoku Solver</title><content type='html'>Are you interested in Sudoku?&lt;br /&gt;&lt;br /&gt;If so, then check out my &lt;a href="http://www.bruceshankle.com/_mgxroot/page_10768.html"&gt;Shankle Sudoku Solver&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's a free, printable worksheet that helps you solve your Sudoku puzzles.&lt;br /&gt;&lt;br /&gt;Give it a try and &lt;a href="http://www.bruceshankle.com/_mgxroot/page_10758.html"&gt;let me know what you think&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114595304044353712?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114595304044353712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114595304044353712' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114595304044353712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114595304044353712'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/04/shankle-sudoku-solver.html' title='The Shankle Sudoku Solver'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114456260128914062</id><published>2006-04-08T22:58:00.000-07:00</published><updated>2006-04-09T00:19:02.740-07:00</updated><title type='text'>Counting calories: 1 M&amp;M vs. 18 strawberries</title><content type='html'>Would you rather have one chocolate-covered peanut candy or 18 strawberries?&lt;br /&gt;&lt;br /&gt;I've been eating a lot of fruits and vegetables lately hoping to shed a few excess pounds. Doing a little calorie counting revealed this interesting factoid:&lt;br /&gt;&lt;br /&gt;"Eighteen strawberries have the same amount of calories as a solitary peanut M&amp;M candy [and] they're fat free and pack a wallop of nutitional value to boot."&lt;br /&gt;(&lt;a href="http://www.sweetdarling.com/lfiapp/Nutritional.cfm"&gt;source&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Isn't that amazing?&lt;br /&gt;&lt;br /&gt;-B&lt;br /&gt;&lt;br /&gt;[EDIT]: This can't be true. I mean just look at the &lt;a href="http://www.sweetdarling.com/lfiapp/Nutritional.cfm"&gt;source of this information&lt;/a&gt;. It says 8 strawberries is 45 calories, so 18 would be over 90 calories. A single peanut M&amp;M is about 13 calories. I think I'll send a letter to Sweet Darling about this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114456260128914062?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114456260128914062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114456260128914062' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114456260128914062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114456260128914062'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/04/counting-calories-1-mm-vs-18.html' title='Counting calories: 1 M&amp;M vs. 18 strawberries'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114413318286892300</id><published>2006-04-03T23:44:00.000-07:00</published><updated>2006-04-03T23:46:22.880-07:00</updated><title type='text'>Installing Fedora Core 5 on a Toshiba A85-S1072 Laptop</title><content type='html'>&lt;a href="http://www.bruceshankle.com/_mgxroot/page_10767.html"&gt;Here are my notes&lt;/a&gt; on getting Fedora Core 5 running on this insanely cheap ($450) laptop.&lt;br /&gt;&lt;br /&gt;Hope this helps someone else out there.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114413318286892300?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114413318286892300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114413318286892300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114413318286892300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114413318286892300'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/04/installing-fedora-core-5-on-toshiba.html' title='Installing Fedora Core 5 on a Toshiba A85-S1072 Laptop'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114326497656692193</id><published>2006-03-24T21:34:00.000-08:00</published><updated>2006-03-24T21:36:16.566-08:00</updated><title type='text'>GPL'd Windows Movie Maker Utility</title><content type='html'>I have &lt;a href="http://www.bruceshankle.com/_mgxroot/page_10765.html"&gt;GPL'd my Windows Movie Maker Utility&lt;/a&gt;. In this way, it hopefully has a life beyond the time I have to spend working on it.&lt;br /&gt;&lt;br /&gt;-Bruce&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114326497656692193?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114326497656692193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114326497656692193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114326497656692193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114326497656692193'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/03/gpld-windows-movie-maker-utility.html' title='GPL&apos;d Windows Movie Maker Utility'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114291963010648695</id><published>2006-03-20T21:32:00.000-08:00</published><updated>2006-03-24T21:34:37.173-08:00</updated><title type='text'>Windows Movie Maker Utility</title><content type='html'>A friend of mine was recently complaining about how Windows Movie Maker doesn't provide a way to easily know what files your movie is using. That makes it hard to back up your projects, especially if your media files are scattered all over the place.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bruceshankle.com/_mgxroot/page_10765.html"&gt;Here&lt;/a&gt; is my solution to the problem:&lt;br&gt;&lt;br /&gt;&lt;br /&gt;This is a little utility I wrote to figure out which files a project uses.&lt;br /&gt;&lt;br /&gt;If you find it useful, drop me a line.&lt;br /&gt;&lt;br /&gt;I may beef up this utility to actually help you consolidate the files. Thoughts?&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114291963010648695?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114291963010648695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114291963010648695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114291963010648695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114291963010648695'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/03/windows-movie-maker-utility.html' title='Windows Movie Maker Utility'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114242146189980031</id><published>2006-03-15T03:09:00.000-08:00</published><updated>2006-03-15T03:17:41.910-08:00</updated><title type='text'>Cosmos</title><content type='html'>The famous Cosmos written by &lt;a href="http://www.carlsagan.com/"&gt;Carl Sagan&lt;/a&gt; has been airing lately (Discovery or the Science Channel I think). Tonight's show was about Johansses Kepler.&lt;br /&gt;&lt;br /&gt;In the early 1600s, Johannes Kepler proposed three laws of planetary motion. Kepler was able to summarize the carefully collected data of his mentor - Tycho Brahe - with three statements which described the motion of planets in a sun-centered solar system&lt;br /&gt;&lt;br /&gt;Kepler's three laws of planetary motion can be described as follows:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The path of the planets about the sun are elliptical in shape, with the center of the sun being located at one focus. (The Law of Ellipses)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;An imaginary line drawn from the center of the sun to the center of the planet will sweep out equal areas in equal intervals of time. (The Law of Equal Areas)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The ratio of the squares of the periods of any two planets is equal to the ratio of the cubes of their average distances from the sun. (The Law of Harmonies)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;What's amazing to me is that he figured this out during a time in human history when we were burning witches at the stake and people were arguing over what books were heretical and which religion was 'right'. It was a dark, close-minded, religious-filled bull-crap time of human history.&lt;br /&gt;&lt;br /&gt;I think Kepler and people like him helped us get past this dark time. I hope we don't fall back into some religious-psycho-babble-nut-case society again.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.whywontgodhealamputees.com/"&gt;LONG LIVE THE RATIONALISTS&lt;/a&gt;!!!&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114242146189980031?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114242146189980031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114242146189980031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114242146189980031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114242146189980031'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/03/cosmos.html' title='Cosmos'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114232086447058072</id><published>2006-03-13T23:14:00.000-08:00</published><updated>2006-03-13T23:21:04.480-08:00</updated><title type='text'>Why I Hate Factories</title><content type='html'>Benji Smith wites a great &lt;a href="http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12"&gt;analogy of sorts&lt;/a&gt; about how crazy it would be to build a simple spice rack if the world of hand tools were as complex as the world of software development tools. It's a funny read (if you don't mind the sadness of the truth of it).&lt;br /&gt;&lt;br /&gt;From the post: "So this week, we're introducing a general-purpose tool-building factory factory factory, so that all of your different tool factory factories can be produced by a single, unified factory. The factory factory factory will produce only the tool factory factories that you actually need, and each of those factory factories will produce a single factory based on your custom tool specifications. The final set of tools that emerge from this process will be the ideal tools for your particular project. You'll have *exactly* the hammer you need, and exactly the right tape measure for your task, all at the press of a button (though you may also have to deploy a few *configuration files* to make it all work according to your expectations)." &lt;a href="http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12"&gt;Read the rest&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114232086447058072?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114232086447058072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114232086447058072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114232086447058072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114232086447058072'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/03/why-i-hate-factories.html' title='Why I Hate Factories'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114179756654223552</id><published>2006-03-07T21:55:00.000-08:00</published><updated>2006-03-07T21:59:26.553-08:00</updated><title type='text'>Up In Smoke (makes me smile)</title><content type='html'>A Charlotte, NC lawyer purchased a box of very rare and expensive cigars and then insured them against fire among other things. Within a month, having smoked his entire stockpile of these great cigars and without yet having made even his first premium payment on the policy, the lawyer filed claim against the insurance company.&lt;br /&gt;&lt;br /&gt;In his claim, the lawyer stated the cigars were lost "in a series of small fires." The insurance company refused to pay, citing the obvious reason that the man had consumed the cigars in the normal fashion. The lawyer sued... and WON! (Stay with me.)&lt;br /&gt;&lt;br /&gt;In delivering the ruling the judge agreed with the insurance company that the claim was frivolous. The judge stated nevertheless, that the lawyer "held a policy from the company in which it had warranted that the cigars were insurable and also guaranteed that it would insure them against fire, without defining what is considered to be unacceptable fire" and was obligated to pay the claim.&lt;br /&gt; &lt;br /&gt;Rather than endure lengthy and costly appeal process, the insurance company accepted the ruling and paid $15,000 to the lawyer for his loss of the rare cigars lost in the "fires."&lt;br /&gt;&lt;br /&gt; NOW FOR THE BEST PART...&lt;br /&gt;&lt;br /&gt;After the lawyer cashed the check, the insurance company had him arrested on 24 counts of ARSON!!! Using his own insurance claim and with the testimony from the previous case being used against him, the lawyer was convicted of intentionally burning his insured property and was sentenced to 24 months in jail and a $24,000 fine.&lt;br /&gt;&lt;br /&gt;This is a true story and was the First place winner in the recent Criminal Lawyers Award Contest.&lt;br /&gt;&lt;br /&gt;It would only be less funny if it &lt;a href="http://www.breakthechain.org/exclusives/cigars.html"&gt;actually were true&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Sigh...urban legends. I wonder if MythBusters could do a segment on this one?&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114179756654223552?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114179756654223552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114179756654223552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114179756654223552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114179756654223552'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/03/up-in-smoke-makes-me-smile.html' title='Up In Smoke (makes me smile)'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114172522262128869</id><published>2006-03-07T01:49:00.000-08:00</published><updated>2006-03-07T01:53:42.643-08:00</updated><title type='text'>H.264 Will Kick Your CPU's Ass!</title><content type='html'>Apple has made a big fuss about how fast it's computers are now with the new Intel chips. But I know a test that can bring any machine to it's knees: video encoding. So I went to the Apple store and asked to see the fastest machine they have. Funny, it was a Power Mac G5 Quad (it has 2 procs * 2 cores = 4 Power PC G5 Cores), not an Intel. So I simply fired up iMovie (which in the store always loads the cute clips they provide as demos) and simply asked it to export the movie to a Quicktime file encoded as H.264.&lt;br /&gt;&lt;br /&gt;I was expecting at least near-realtime encoding. Boy was I wrong. The last status message before the sales guy made me leave was hovering at around 30 minutes (and climbing). But to be fair, it was by far the fastest machine in the store.&lt;br /&gt;&lt;br /&gt;Computer and CPU manufacturers like to boast about how great their latest products are. Usually a benchmark or two is cited as well as a comparison to a compeitor, or even the the company's own previous products.&lt;br /&gt;&lt;br /&gt;But when faced with certain software problems, even today's fastest general purpose processors (even 2 or 4 of them working in parallel) can seem glacially slow.&lt;br /&gt;&lt;br /&gt;Let's look at one example: video encoding using the H.264 algorithm. It takes 20 hours (that's right, 20 entire hours) for my 1.8 Ghz PowerPC-based Mac to compress 9 minutes (that's right, 9 short minutes) of HDV 1080i video footage to H.264 at it's full resolution.&lt;br /&gt;&lt;br /&gt;That means it would take about 360 hours (or 2 weeks and a day) to compress a 2 hour movie. That's nuts!&lt;br /&gt;&lt;br /&gt;It's especially rediculous considering the video camera that recorded that footage was doing a constrained form of MPEG-2 compression in REAL-TIME (granted the HDV camera is only storing 1440x1080 size images).&lt;br /&gt;&lt;br /&gt;Why is this problem so hard?&lt;br /&gt;&lt;br /&gt;OK let's do a little math here:&lt;br /&gt;1080i video resolution is 1920 x 1080 pixels = 2073600 pixels per frame&lt;br /&gt;Let's assume 24 bit color, so 2073600 * 3 = 6,220,800  bytes per frame&lt;br /&gt;Let's assume 30 frames per second = 30 fps * 60 seconds * 6,220,800 = 11,197,440,000 Bytes&lt;br /&gt;That's roughly 11 gigabytes of data per minute.&lt;br /&gt;&lt;br /&gt;Now what does the H.264 code do with all this data? Here is a short list (see &lt;a href="http://en.wikipedia.org/wiki/H.264"&gt;Wikipedia&lt;/a&gt; for more):&lt;br /&gt;&lt;br /&gt;Multi-picture motion compensation using previously-encoded pictures as references&lt;br /&gt;Variable block-size motion compensation (VBSMC) with block sizes as large as 16×16 and as small as 4×4, enabling very precise segmentation of moving regions.&lt;br /&gt;Six-tap filtering for derivation of half-pel luma sample predictions, in order to lessen the aliasing and eventually provide sharper image.&lt;br /&gt;Quarter-pixel precision for motion compensation, enabling very precise description of the displacements of moving areas.&lt;br /&gt;Weighted prediction, allowing an encoder to specify the use of a scaling and offset when performing motion compensation, and providing a significant benefit in performance in special cases—such as fade-to-black, fade-in, and cross-fade transitions.&lt;br /&gt;An in-loop deblocking filter which helps prevent the blocking artifacts common to other DCT-based image compression techniques.&lt;br /&gt;An exact-match integer 4×4 spatial block transform&lt;br /&gt;A secondary Hadamard transform performed on "DC" coefficients of the primary spatial transform&lt;br /&gt;Spatial prediction from the edges of neighboring blocks for "intra" coding&lt;br /&gt;Context-adaptive binary arithmetic coding (CABAC), which is a clever technique to losslessly compress syntax elements in the video stream knowing the probabilities of syntax elements in a given context.&lt;br /&gt;Context-adaptive variable-length coding (CAVLC), which is a lower-complexity alternative to CABAC for the coding of quantized transform coefficient values&lt;br /&gt;A common simple and highly-structured variable length coding (VLC) technique for many of the syntax elements not coded by CABAC or CAVLC, referred to as Exponential-Golomb (Exp-Golomb) coding.&lt;br /&gt;&lt;br /&gt;Not only that, most 'good' H.264 encoders make multiple passes thru the data because a lot of this stuff can't be computed in one pass.&lt;br /&gt;&lt;br /&gt;Now imagine all this work being applied to 30 frames per second of hi-def footage to make it smaller.&lt;br /&gt;&lt;br /&gt;For some strange reason which I'd like to learn some day, we're able to make chips that can solve this problem in real-time (they're in $200 video cameras and $99 DVRs) but that technology never makes into our computers. Why is that?&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114172522262128869?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114172522262128869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114172522262128869' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114172522262128869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114172522262128869'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/03/h264-will-kick-your-cpus-ass.html' title='H.264 Will Kick Your CPU&apos;s Ass!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114162640252338864</id><published>2006-03-05T22:12:00.000-08:00</published><updated>2006-03-05T22:26:42.546-08:00</updated><title type='text'>I Have a Tankless Water Heater</title><content type='html'>If you ever want to have a really deep appreciation for your water heater and you want to get a feel for just how much energy it's using, try going a couple of weeks without it. Heat up your bath water by boiling water on your stove and making trips with pots of hot water back and forth to your bathroom. You'll find out really quickly that heating a tub full of water takes a tremendous amount of energy and quite a few pots of boiling water.&lt;br /&gt;&lt;br /&gt;A few weeks ago I noticed rust in the bath water and I knew our water heater's life was at it's end. Sure enough, about a week later, it start leaking. Luckily our water heater is in the garage so nothing was damaged. If you have your water heater in your attic, then I pity you when it starts to leak. Most water heaters are nothing more than simple steel 'barrels' that WILL rust out, it's just a matter of time.&lt;br /&gt;&lt;br /&gt;Being the unconventional type I did a lot of research on what to replace ours with. I ended up going with a tankless unit. It was a bit of a pain as I had to run a new 1" gas line the entire length of the house to where I was going to install it as these things suck massive BTUs when they're on. There are electric ones but most homes would have to have some substantial electric upgrades to host one. We already had gas so it wasn't too expensive to upgrade the size of the gas line.&lt;br /&gt;&lt;br /&gt;After having had it for a few weeks, I'm very glad I decided to go tankless. We never run out of hot water any more and it takes up a lot less space. I'm supposed to get a $300 tax credit as well and there's no big fat steel tank in my garage slowly corroding away.&lt;br /&gt;&lt;br /&gt;Do your homework if you decide to go tankless. It does take a little longer for hot water to reach the taps and you can't let them 'freeze' (unless you get a model specifically made for outdoors use in a climate that has below freezing temperatures).&lt;br /&gt;&lt;br /&gt;These things are supposedly popular in Europe and Japan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114162640252338864?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114162640252338864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114162640252338864' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114162640252338864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114162640252338864'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/03/i-have-tankless-water-heater.html' title='I Have a Tankless Water Heater'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114162492837168221</id><published>2006-03-05T21:51:00.000-08:00</published><updated>2006-03-05T22:02:08.383-08:00</updated><title type='text'>Attention U.S. Citizens: Know Thy Rights!</title><content type='html'>I heard an interesting factoid on the radio today. The average person knows more names of characters from the Simpsons TV cartoon than the specific freedoms outlined in the constitution of the United States of America.&lt;br /&gt;&lt;br /&gt;So let's have a little history lesson here. The first 10 amendments to the constitution are known as the "Bill of Rights". Those are as follows:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Amendment I - Freedom of Religion, Press, Expression. Ratified 12/15/1791. Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof; or abridging the freedom of speech, or of the press; or the right of the people peaceably to assemble, and to petition the Government for a redress of grievances.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Amendment II - Right to bear arms. Ratified 12/15/1791. A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Amendment III - Quartering of soldiers. Ratified 12/15/1791. No Soldier shall, in time of peace be quartered in any house, without the consent of the Owner, nor in time of war, but in a manner to be prescribed by law.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Amendment IV - Search and seizure. Ratified 12/15/1791. The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no Warrants shall issue, but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Amendment V - Trial and Punishment, Compensation for Takings. Ratified 12/15/1791. No person shall be held to answer for a capital, or otherwise infamous crime, unless on a presentment or indictment of a Grand Jury, except in cases arising in the land or naval forces, or in the Militia, when in actual service in time of War or public danger; nor shall any person be subject for the same offense to be twice put in jeopardy of life or limb; nor shall be compelled in any criminal case to be a witness against himself, nor be deprived of life, liberty, or property, without due process of law; nor shall private property be taken for public use, without just compensation.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Amendment VI - Right to speedy trial, confrontation of witnesses. Ratified 12/15/1791. In all criminal prosecutions, the accused shall enjoy the right to a speedy and public trial, by an impartial jury of the State and district wherein the crime shall have been committed, which district shall have been previously ascertained by law, and to be informed of the nature and cause of the accusation; to be confronted with the witnesses against him; to have compulsory process for obtaining witnesses in his favor, and to have the Assistance of Counsel for his defence.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Amendment VII - Trial by jury in civil cases. Ratified 12/15/1791. In Suits at common law, where the value in controversy shall exceed twenty dollars, the right of trial by jury shall be preserved, and no fact tried by a jury, shall be otherwise re-examined in any Court of the United States, than according to the rules of the common law.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Amendment VIII - Cruel and Unusual punishment. Ratified 12/15/1791. Excessive bail shall not be required, nor excessive fines imposed, nor cruel and unusual punishments inflicted.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Amendment IX - Construction of Constitution. Ratified 12/15/1791. The enumeration in the Constitution, of certain rights, shall not be construed to deny or disparage others retained by the people.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Amendment X - Powers of the States and People. Ratified 12/15/1791. The powers not delegated to the United States by the Constitution, nor prohibited by it to the States, are reserved to the States respectively, or to the people.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114162492837168221?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114162492837168221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114162492837168221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114162492837168221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114162492837168221'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/03/attention-us-citizens-know-thy-rights.html' title='Attention U.S. Citizens: Know Thy Rights!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114128785382732686</id><published>2006-03-02T00:23:00.000-08:00</published><updated>2006-03-02T00:28:38.973-08:00</updated><title type='text'>Ethan Winer - Amazing Cello Video! Embedded!</title><content type='html'>I wrote about Ethan Winer the other day. He was kind enough to upload his video to me I was able to get it on Google Videos which allows me to quite easily share it with you in my blog. Just click the play button, or if you want &lt;a href="http://video.google.com/videoplay?docid=6627904867875032821 "&gt;go directly to Google Videos&lt;/a&gt;.&lt;br /&gt;Enjoy!&lt;br /&gt;-B&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" align="middle" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DpwAAANufPMfBYWShpzj3dUP-GqN53fZX8H2m_8Xmz57mnD37TEV0oAjKA5g1ZGdmioNAxwD8j-EhDtF1hrrbjdSEB9FpLfWC-_PMn3QyA8X0vQ5TlKIl73MARegHRICmWtjUjj1yOuSHpghP0jrH0y-z2afuofCIumBKxvXtRq4SvVI9zuzaQMvnZRF-L2KWz6RG-vcfQAvuNBI1SCGR7ol8CyQxDA5pcf6o6BdrZQjA8ZtZ%26sigh%3DJ0ze-Iw9J6W7ymXLWwWIgaBhOfg%26begin%3D0%26len%3D389966%26docid%3D6627904867875032821&amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer%3Fcontentid%3D641063a10c6dcddd%26second%3D5%26itag%3Dw320%26urlcreated%3D1141287633%26sigh%3DV3IW_dcHsKYoeLSP0CYcAiUvaoQ&amp;playerId=6627904867875032821&amp;playerMode=embedded" allowScriptAccess="sameDomain" quality="best" bgcolor="#ffffff" scale="noScale" wmode="window" salign="TL" &gt; &lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114128785382732686?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114128785382732686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114128785382732686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114128785382732686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114128785382732686'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/03/ethan-winer-amazing-cello-video.html' title='Ethan Winer - Amazing Cello Video! Embedded!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114116673127999301</id><published>2006-02-28T14:41:00.000-08:00</published><updated>2006-02-28T14:46:29.700-08:00</updated><title type='text'>Report Server .data files can drive you nuts...</title><content type='html'>If you ever do any Microsoft Reporting Services programming using Visual Studio.NET and you run into a problem where the data in the reports isn't what you expect, try this:&lt;br /&gt;&lt;br /&gt;1. Exit visual studio&lt;br /&gt;2. Delete all the .data files in your project folder&lt;br /&gt;3. Restart visual studio&lt;br /&gt;&lt;br /&gt;The Report Services design-mode obviously caches data from the database in these files and if they get out of synch with the real database it can be quite confusing.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114116673127999301?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114116673127999301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114116673127999301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114116673127999301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114116673127999301'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/02/report-server-data-files-can-drive-you.html' title='Report Server .data files can drive you nuts...'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114111040544192494</id><published>2006-02-27T23:05:00.000-08:00</published><updated>2006-02-27T23:06:45.450-08:00</updated><title type='text'>Ethan Winer - Amazing Cello Video!</title><content type='html'>&lt;a href="http://www.ifilm.com/ifilmdetail/2684939"&gt;This&lt;/a&gt; is quite an amazing performance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114111040544192494?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114111040544192494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114111040544192494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114111040544192494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114111040544192494'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/02/ethan-winer-amazing-cello-video.html' title='Ethan Winer - Amazing Cello Video!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114109538541964065</id><published>2006-02-27T18:52:00.000-08:00</published><updated>2006-02-27T18:57:04.666-08:00</updated><title type='text'>Quantum Physics 101</title><content type='html'>&lt;a href="http://video.google.com/videoplay?docid=-4237751840526284618&amp;q=quantum"&gt;This animation&lt;/a&gt; makes quantum superposition understandable by mere mortals.&lt;br /&gt;&lt;br /&gt;It explains how the very act of measuring (or observing) a quantum particle changes it from acting like a wave to acting a like a piece of matter.&lt;br /&gt;&lt;br /&gt;My thoughts on this: quantum stuff is pretty weird.&lt;br /&gt;&lt;br /&gt;This is also sort of relative to recently announced quantum computers which can produce solutions to problems without even running.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114109538541964065?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114109538541964065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114109538541964065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114109538541964065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114109538541964065'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/02/quantum-physics-101.html' title='Quantum Physics 101'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114102749664983842</id><published>2006-02-26T23:56:00.000-08:00</published><updated>2006-02-27T00:04:56.660-08:00</updated><title type='text'>What are you missing?</title><content type='html'>Have you ever noticed how much you don't really notice?&lt;br /&gt;&lt;br /&gt;Right now, look away from your monitor and just stare at an object and notice something about it that you don't normally notice: shape, color, texture, location, sound, reflectivity, weight, temperature, etc.&lt;br /&gt;&lt;br /&gt;I've been working at this desk for years and I don't have to try very hard to notice something about it or on it that I haven't noticed before.&lt;br /&gt;&lt;br /&gt;Now, if we can miss that much on or around a desk we sit at all the time, just think we are missing out there in the 'Real World'(tm).&lt;br /&gt;&lt;br /&gt;Why do we miss out on so much? I have a theory that we are so bombarded by information everywhere we turn, that we learn to just 'tune out' things. We necessarily 'confuse' the details down into a simpler model we can cope with in real-time and we only bring into focus things which matter to us in the moment.&lt;br /&gt;&lt;br /&gt;I think the great thinkers out there have found ways to miss a little less than the average person.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114102749664983842?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114102749664983842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114102749664983842' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114102749664983842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114102749664983842'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/02/what-are-you-missing.html' title='What are you missing?'/><author><name>E. Bruce Shankle III</name><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-7230680.post-114085318404885755</id><published>2006-02-24T23:36:00.000-08:00</published><updated>2006-02-24T23:39:44.056-08:00</updated><title type='text'>Your ticket to computing: $600</title><content type='html'>I did some newegg surfing tonight just to get a sense of where we are with tech. and how much things cost these days.&lt;br /&gt;&lt;br /&gt;If you like to tinker, you could assemble your own computer.&lt;br /&gt;&lt;br /&gt;For the total cost of about $600 (this includes shipping BTW) you can get the following:&lt;br /&gt;Motherboard with built-in LAN, Sound, USB 2.0, Serial port, Parallel port, PS/2 mouse and keyboard ports&lt;br /&gt;2.13 Ghz Intel CPU&lt;br /&gt;512 Megs of RAM&lt;br /&gt;ATI Radeon 7000 Video Card&lt;br /&gt;80 GB Hard Drive&lt;br /&gt;DVD Burner&lt;br /&gt;Keyboard&lt;br /&gt;Optical Mouse&lt;br /&gt;Tower case with 350W power supply&lt;br /&gt;15" Flat-panel LCD Monitor (1024 x 768 res)&lt;br /&gt;External pair of speakers&lt;br /&gt;Color Inkjet Printer&lt;br /&gt;Windows XP Home Edition&lt;br /&gt;&lt;br /&gt;You could save a $100 by using a free GNU/Linux-based operating system like Fedora Core or Ubuntu.&lt;br /&gt;&lt;br /&gt;What else could you get for $600? How about a laptop:&lt;br /&gt;The cheapest laptop on newegg is $600.00.&lt;br /&gt;That gets you a 1.5 Ghz proc, 40GB hard disk, a CD burner, a 14.1" monitor (1280 x 800 res) and Windows Home edition (and you don't have to assemble anything).&lt;br /&gt;&lt;br /&gt;What else can you get for $600? How about an XBox 360? (assuming you have a nice TV already):&lt;br /&gt;1 XBox 360 ($400)&lt;br /&gt;1 Extra contoller ($50)&lt;br /&gt;XBox live ($50)&lt;br /&gt;2 Games ($120)&lt;br /&gt;Total: $620&lt;br /&gt;&lt;br /&gt;What if you wanted a Mac?&lt;br /&gt;Mac Mini: $499&lt;br /&gt;Monitor, Keyboard, Mouse, and Speakers from newegg: $130&lt;br /&gt;Total: $620&lt;br /&gt;&lt;br /&gt;It's interesting that $600 is sort of the the magic number for computing no matter what the platform is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-114085318404885755?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/114085318404885755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=114085318404885755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114085318404885755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/114085318404885755'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2006/02/your-ticket-to-computing-600.html' title='Your ticket to computing: $600'/><author><name>E. Bruce Shankle III</name><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-7230680.post-113574681544840325</id><published>2005-12-27T21:09:00.000-08:00</published><updated>2005-12-27T21:14:00.500-08:00</updated><title type='text'>How to reset a Linksys WAP54G</title><content type='html'>From the school of hard knocks...&lt;br /&gt;&lt;br /&gt;If you have a Linksys product (router or WAP) and you can't seem to get the normal factory reset procedure to work (holding the reset button for 10 seconds), then try this procedure:&lt;br /&gt;&lt;br /&gt;1. Disconnect all Ethernet connections behind the router but leave power on (modem and computers)&lt;br /&gt;2. Press and hold the reset button for 30 sec., after that...&lt;br /&gt;3. Unplug the power keep holding down the reset button for another 5 sec.&lt;br /&gt;4. Then, plug back the power keep holding down the reset button for 5 sec., after that&lt;br /&gt;5. Release the reset button.&lt;br /&gt;6. Power off router for 30 sec.&lt;br /&gt;&lt;br /&gt;Also, do this after any firmware upgrade and reconfigure your device.&lt;br /&gt;Try this also, if your device seems to be crashed or acting weird.&lt;br /&gt;&lt;br /&gt;If this works for you, drop me a line.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-113574681544840325?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/113574681544840325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=113574681544840325' title='41 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113574681544840325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113574681544840325'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/12/how-to-reset-linksys-wap54g.html' title='How to reset a Linksys WAP54G'/><author><name>E. Bruce Shankle III</name><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>41</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7230680.post-113178817805520900</id><published>2005-11-12T01:28:00.000-08:00</published><updated>2005-11-12T01:36:18.066-08:00</updated><title type='text'>firefly, Serenity = entertaining science fiction</title><content type='html'>After seeing Serenity in a movie theater I NetFlixed the Firefly series on DVD. I currently have disc 1 which has the first 3 episodes of this short-lived series on Fox back in 2002.&lt;br /&gt;&lt;br /&gt;This is a GREAT show! How in the heck did this not make it past 11 episodes?&lt;br /&gt;&lt;br /&gt;It's the most entertaining sci-fi I've experienced since some of the classic XFiles episodes (or maybe a few of the Star Trek TNG's with Data).&lt;br /&gt;&lt;br /&gt;It's very dramatic with high production values and a neat mixture of different story-telling generes. It's like Wild Wild West meets Star Trek with a little bit of XFiles mystery and some Buffy-like femininity. Very cool ineed, especially if you grew up on a farm like I did and always wanted a spaceship: cowboys in space!&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-113178817805520900?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/113178817805520900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=113178817805520900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113178817805520900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113178817805520900'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/11/firefly-serenity-entertaining-science.html' title='firefly, Serenity = entertaining science fiction'/><author><name>E. Bruce Shankle III</name><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-7230680.post-113138781016031227</id><published>2005-11-07T10:19:00.000-08:00</published><updated>2005-11-07T10:23:30.170-08:00</updated><title type='text'>iPods</title><content type='html'>Apple currently offers several different iPod models and there are even more available in the used marketplace (like eBay). There are also many different iPod accessories that enhance the iPod's functionality. Perhaps you've been reading about all the ways to get a free iPod and are wondering if the model you'd be getting has the featurs you need. Or, if you're thinking of buying an iPod, or are considering giving one as a gift this holiday seasion, this guide will help you decide which is best for you to get.&lt;br /&gt;&lt;a href="http://home.nc.rr.com/bshankle/ipod/"&gt;Read more &gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-113138781016031227?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/113138781016031227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=113138781016031227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113138781016031227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113138781016031227'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/11/ipods.html' title='iPods'/><author><name>E. Bruce Shankle III</name><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-7230680.post-113126307829736865</id><published>2005-11-05T23:43:00.000-08:00</published><updated>2005-11-05T23:44:38.320-08:00</updated><title type='text'>Divorce</title><content type='html'>I've been through a divorce, my father has been through as divorce and my grandfather has been through a divorce. Maybe it's the case that men in my family can only take so much of a bad situation. Whatever the reason, the men in my family have amassed a lot of experience with divorce and I'm here to tell you what to expect. I'm not gonna pull any punches or try to make you feel good by dressing it all up like it's something it's not. Divorce is ugly. Divorce is hard. Divorce takes a toll on a man's self esteem. But I'm here to tell you, it does eventually end and things will be better than you ever imagined. &lt;a href="http://home.nc.rr.com/bshankle/divorce/"&gt;Read More &gt;&gt;&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-113126307829736865?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/113126307829736865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=113126307829736865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113126307829736865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113126307829736865'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/11/divorce.html' title='Divorce'/><author><name>E. Bruce Shankle III</name><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-7230680.post-113074888613616552</id><published>2005-10-31T00:47:00.000-08:00</published><updated>2005-10-31T01:00:47.560-08:00</updated><title type='text'>Quitting Nicotine Forever</title><content type='html'>I've seen enough of my friends and colleagues struggle with tobacco and nicotine addiction that I've finally decided to do something. I've written an &lt;a href="http://home.nc.rr.com/bshankle/nicotine/nicotine.htm"&gt;11 page guide on how to quit nicotine forever&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;What makes me qualified to do this? Well simply because I am an ex-nicotine user. I wasn't just a casual smoker or someone who tried a chew of tobacco. I was a hard-core 3-pack-a-day chain-smoker for a decade and then a 2-can-a-day snuff-dipper for another decade. I know as well as anyone else what it means to be addicted to tobacco.&lt;br /&gt;&lt;br /&gt;But more importantly, I quit nicotine forever, and I am willing to share with you, no strings attached, everything you need to quit too.&lt;br /&gt;&lt;br /&gt;I am big tobacco's worst nightmare. &lt;a href="http://home.nc.rr.com/bshankle/nicotine/nicotine.htm"&gt;Click here to see why...&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;center&gt;(GOOD LUCK S.M. &amp; D.O. !!!)&lt;/center&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/7230680-113074888613616552?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/113074888613616552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=113074888613616552' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113074888613616552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/113074888613616552'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/10/quitting-nicotine-forever.html' title='Quitting Nicotine Forever'/><author><name>E. Bruce Shankle III</name><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-7230680.post-112978873224451411</id><published>2005-10-19T23:10:00.000-07:00</published><updated>2005-10-19T23:12:12.250-07:00</updated><title type='text'>It Jsut Deons't Matetr...</title><content type='html'>Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe.&lt;br /&gt;&lt;br /&gt;Itnresetnig huh?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-112978873224451411?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/112978873224451411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=112978873224451411' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/112978873224451411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/112978873224451411'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/10/it-jsut-deonst-matetr.html' title='It Jsut Deons&apos;t Matetr...'/><author><name>E. Bruce Shankle III</name><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-7230680.post-112568559132940196</id><published>2005-09-02T11:08:00.000-07:00</published><updated>2009-01-08T22:48:04.182-08:00</updated><title type='text'>I'm driving an electric scooter to work now</title><content type='html'>I filled up my gas tank yesterday. Because of the supply disruptions caused by Hurricane Katrina, I paid $3.20 a gallon and it ended up costing about $60. My reaction to that was, "Oh man, what if this gets worse? I've got to find&lt;br /&gt;an alternative, quickly!"&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What I decided to do is interesting. I decided to go to Pep Boys and buy an &lt;a href="http://www.pepboys.com/transportation/street_legal_scooters/9265013_06029-streetlegal.html"&gt;Electric Scooter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img width=300 height =300 src="http://www.pepboys.com/images/transportation/street_scooters/9265082_des.jpg"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pepboys.com/transportation/street_legal_scooters/9265013_06029-streetlegal.html"&gt;This scooter&lt;/a&gt; is fascinating. It is made in China, and with a rebate it is currently priced at $299 (I only paid $249 though because the generous store manager discounted it for having a missing headlight bulb). From the outside, it looks like a Vespa.&lt;br /&gt;But it has a 750 watt (about 1 HP) electric motor that gives it a top speed on level ground of 30 MPH. It has a four 12-volt batteries that give it a range of about 25 miles. It has everything you would expect it to have from a moped standpoint -- head light and tail light, turn signals, horn, rear view mirrors, storage under the seat, etc. &lt;br /&gt;&lt;br /&gt;It has two things that you do not get with a moped. First, it is completely silent. It's almost spooky how quiet it is. Going 30 MPH with zero noise is a new experience. It's a lot of fun to ride it. Second, it costs basically zero to operate. Perhaps a penny per mile. With gas at $3.20 a gallon, my car is costing 16 cents a mile just for the gas.&lt;br /&gt;&lt;br /&gt;I went to the grocery store last night for a gallon of milk. The store is two miles away. I found that taking the scooter was quicker than driving because you can park the scooter right next to the store's door, walk in, walk out and you are done. &lt;br /&gt;&lt;br /&gt;Here's the funny thing about this scooter. By the time you add in tires, oil changes, gasoline and per-mile depreciation on the car, the average car costs about 30 cents a mile to operate. That means that if I use this scooter for 1,000 miles, the scooter is free. &lt;br /&gt; &lt;br /&gt;Obviously I won't be riding a scooter like this in the winter when it is 20 degrees F outside. I won't be riding it in the rain. I won't use it for any journey longer than about 15 miles round trip. But my office is only 8 miles away so I can ride the scooter to work on nice days. I can use it to go to the store and so on. Let's say it takes me a year to put 2,000 miles on the scooter. And let's say that at the end of the year I throw the scooter away, so I have zero maintenance costs. I have saved 100 gallons of gasoline and I have put $280 in my pocket compared to the cost of driving my car (2,000 miles would cost $600 in the car, while the scooter cost $299 and I spent $20 on electricity for it).&lt;br&gt;&lt;br&gt;So what was my first drive to work like?&lt;br&gt;&lt;br&gt; I mapped out a path that kept me mostly off the main roads but is slightly longer than the route I would take in my car. I arrived at my office 25 minutes after I left home...just a tad longer than driving my car. But I burned ZERO fossil fuels today and my scooter is sitting in my office beside me recharging.&lt;br&gt;&lt;br&gt; Everyone here at work is marveling at it and 2 people (who drive SUV's and Mercedes) have stated they now want one. It's interesting how gas prices incent people to think.&lt;br&gt;&lt;br&gt; The other thing that was interesting about today, was how peaceful my drive into work was: The scooter is practically silent and I took a lot of little side streets thru the small town I live in. I saw a lot of things I'd never seen before when I normally take the freeway. Plus, the cool morning breeze was refreshing, something you don't feel in the car.&lt;br&gt;&lt;br&gt; People were out raking their yards, politely saying hello as I passed, I saw few cars, and even motortists on the short section of busy highway I couldn't avoid gave me a lot of room. Unlike a bike, I'm actually travelling much closer to a car's speed so when they do pass the relative speed difference feels less like you're getting blown off the road, plus the scooter is just so much larger and more visible than a bicycle I think it is just more noticeable.&lt;br&gt;&lt;br&gt; All in all, it was actually a welcome change from driving a car. I felt very close to the environment and wasn't winded by having to peddle. Very peaceful. The realization when I got to my office that this machine actually worked and I burned no fuel put a smile on my face.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-112568559132940196?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/112568559132940196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=112568559132940196' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/112568559132940196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/112568559132940196'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/09/im-driving-electric-scooter-to-work.html' title='I&apos;m driving an electric scooter to work now'/><author><name>E. Bruce Shankle III</name><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>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7230680.post-112304316819327059</id><published>2005-08-02T21:24:00.000-07:00</published><updated>2005-08-02T21:26:08.196-07:00</updated><title type='text'>Microsoft Windows Vista Beta 1 and WinFX</title><content type='html'>I've been posting some tid-bits about WinFX and what used to be Longhorn over at &lt;a href="http://winfxperts.blogspot.com"&gt;WinFXperts.blogspot.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm not an expert yet, but I'm working on it.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-112304316819327059?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/112304316819327059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=112304316819327059' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/112304316819327059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/112304316819327059'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/08/microsoft-windows-vista-beta-1-and.html' title='Microsoft Windows Vista Beta 1 and WinFX'/><author><name>E. Bruce Shankle III</name><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-7230680.post-112136808358756727</id><published>2005-07-14T12:06:00.000-07:00</published><updated>2005-07-25T22:06:41.170-07:00</updated><title type='text'>DIY Digital Projector</title><content type='html'>A &lt;a href="http://hardware.slashdot.org/article.pl?sid=05/07/13/1313232&amp;amp;tid=196&amp;amp;tid=222"&gt;&lt;br /&gt;recent post on Slashdot&lt;/a&gt; made me realize I have been planning to do this for a while. I'm turning my office into a part-time theater for palying Halo 2.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;So I'm in the process of bulding a super-duper digital projector for about $532. That's less than the cost of a single light bulb for many commercial digital projectors! If you wanted, you could save some cash if you're willing to spend more time building your own enclosure, or shopping on eBay for compatible monitors.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;If you're interested in doing this too, first, do yourself a favor and spend $19.99 to get plans and access to the forums over at &lt;a href="http://www.lumenlab.com/"&gt;Lumenlab&lt;/a&gt;. The forums alone are worth the money.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Next get some parts. Parts I'm using listed below (scroll down if you have to):&lt;hr&gt;&lt;br /&gt;&lt;table cellspacing="2" cellpadding="5" border="0"&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;b&gt;Monitor&lt;/b&gt;&lt;br&gt;&lt;br /&gt;&lt;img width="150" src="http://images10.newegg.com/productimage/24-024-004-11.JPG"&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;CMV&lt;/td&gt;&lt;br /&gt;&lt;td&gt;CT-520D&lt;/td&gt;&lt;br /&gt;&lt;td&gt;$185.00&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://www.newegg.com/Product/Product.asp?Item=N82E16824024004"&gt;Link&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan="5"&gt;You MUST ensure that any monitor you choose doesn't have internal cabling issues that will prevent it being disassembled and re-used inside the projector. This one is listed in the Lumenlab forums as being usable (and it's cheap in case I mess up).&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;b&gt;Enclosure&lt;/b&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;img width="150" src="http://www.hjsproductions.com/box2.jpg"&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Slusher&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Standard&lt;/td&gt;&lt;br /&gt;&lt;td&gt;$95.00&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://www.hjsproductions.com/"&gt;Link&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan="5"&gt;Highly recommended on the forums. You order by calculating the UPS shipping ($20 in my case) and sending him funds via PayPal.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;b&gt;Lens Kit&lt;/b&gt;&lt;br&gt;&lt;br /&gt;&lt;img width="150" src="https://secure.lumenlab.com/img/lens_kit.jpg"&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Lumenlab&lt;/td&gt;&lt;br /&gt;&lt;td&gt;1005 S15&lt;/td&gt;&lt;br /&gt;&lt;td&gt;$64.98&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="https://secure.lumenlab.com/shop/product.php?id=2"&gt;Link&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;b&gt;Light Kit&lt;/b&gt;&lt;br&gt;&lt;br /&gt;&lt;img width="150" src="https://secure.lumenlab.com/img/s400special.gif"&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Lumenlab&lt;/td&gt;&lt;br /&gt;&lt;td&gt;1022b 120V S400DD Ultimate Light Kit&lt;/td&gt;&lt;br /&gt;&lt;td&gt;$159.00&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="https://secure.lumenlab.com/shop/product.php?id=15"&gt;Link&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;b&gt;Wiring Kit&lt;/b&gt;&lt;br&gt;&lt;br /&gt;&lt;img width="150" src="https://secure.lumenlab.com/img/wiring/wiringkit.jpg"&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Lumenlab&lt;/td&gt;&lt;br /&gt;&lt;td&gt;WK120V 120V Wiring Kit&lt;/td&gt;&lt;br /&gt;&lt;td&gt;$24.99&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="https://secure.lumenlab.com/shop/product.php?id=31"&gt;Link&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;b&gt;Reflector&lt;/b&gt;&lt;br&gt;&lt;br /&gt;&lt;img width="150" src="http://www.ireplica.com/shop_image/product/aeb36dffa40ff1caaa20ca8f9a08ba30.jpg"&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Replica&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Ikea Napkin Reflector&lt;/td&gt;&lt;br /&gt;&lt;td&gt;$4.00&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;a href="http://www.ireplica.com/?page=shop/flypage&amp;amp;product_id=388&amp;amp;category_id=52616ae8b7f95d8e4d55374fbe4fd5e9&amp;amp;"&gt;Link&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;You'll also need a fan, switches, some wire, and connectors. I plan to just get these at my local Radio Shack after the other parts come in and I've had a chance to measure everything and decide how I'm gonna wire it up.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I'll post more to my blog when I get further along with the project.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-112136808358756727?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/112136808358756727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=112136808358756727' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/112136808358756727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/112136808358756727'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/07/diy-digital-projector.html' title='DIY Digital Projector'/><author><name>E. Bruce Shankle III</name><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-7230680.post-111954514022927823</id><published>2005-06-23T09:44:00.000-07:00</published><updated>2005-06-23T09:50:44.580-07:00</updated><title type='text'>The Secret of Microwave Popcorn</title><content type='html'>I have discovered the secret of Microwave Popcorn, you know the stuff that comes in a bag and you pop it?&lt;br /&gt;&lt;br /&gt;Let me explain:&lt;br /&gt;I love popcorn, and my favorite is Orville Redenbachers 94% fat free Kettle-Corn for the microwave. It's like 220 calories for a whole bag and it tastes great!&lt;br /&gt;&lt;br /&gt;Recently I ran out and was feeling hungy, but we have a large bag of regular popcorn. Trying to pop it on the stove with oil etc. was a disaster. It was tough, oily, and I put way to much salt on it.&lt;br /&gt;&lt;br /&gt;So I thought I just put some in the microwave in a backing dish covered with paper towels, some oil, and salt. Not much popped, and the salt didn't stick, and it just splattered oil all over the place...another disaster.&lt;br /&gt;&lt;br /&gt;That's when I started thinking about the microwave popcorn that comes in a bag. And that my friends is the secret.&lt;br /&gt;&lt;br /&gt;I developed the following theory.&lt;br /&gt;The paper bag that you pop popcorn in essential to for 3 things:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; It keeps the corn kernels in a tight group concentrating the heat and steam released from popped kernels near all the others, but allows the volume to expand as it pops&lt;br /&gt;&lt;li&gt; It allows the steam to escape, which would otherwise make the popcorn soggy&lt;br /&gt;&lt;li&gt;The bag is 'coated' with a layer of oil and salt. As the popped kernels impact the bag, the salty oil rubs off on them giving a relatively consistent flavor to most of the kernels&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;So the question is: can you simulate the environment of a popcorn bag without the bag...i.e. using stuff you might find in your kitchen? Can you make the popcorn tasted as good?&lt;br /&gt;&lt;br /&gt;It turns out you can:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;You need a deep plastic bowl that narrows towards the bottom&lt;br /&gt;&lt;li&gt;You need a plastic collander&lt;br /&gt;&lt;li&gt;You need some spray-on cooking oil&lt;br /&gt;&lt;li&gt;You need salt&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Process:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; Spray the entire inside of the bowl with a light layer of oil (not much is needed, it's just substrate to hold the salt)&lt;br /&gt;&lt;li&gt;Sprinkle salt over the oil such that the bowl is now covered in salty oil&lt;br /&gt;&lt;li&gt;Now put a layer of regular popcorn kernels in the bottom of the bowl&lt;br /&gt;&lt;li&gt;Place the plastic collander inside the bowl, it's purpose is to let steam escape, but not popped corn&lt;br /&gt;&lt;li&gt;Micro on high until the popping frequency drops&lt;br /&gt;&lt;li&gt;Remove your fresh popcorn that will tasted as good if not better than any bagged popcorn you've ever had, and is likely lower in calories.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;My next experiment: trying a little saccharin or sucralose to see if I can make low-fat kettle-corn this way.&lt;br /&gt;&lt;br /&gt;Let me know what results you get.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-111954514022927823?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/111954514022927823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=111954514022927823' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111954514022927823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111954514022927823'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/06/secret-of-microwave-popcorn.html' title='The Secret of Microwave Popcorn'/><author><name>E. Bruce Shankle III</name><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-7230680.post-111759548967312035</id><published>2005-05-31T20:07:00.000-07:00</published><updated>2005-05-31T20:11:29.676-07:00</updated><title type='text'>RX-8 Links</title><content type='html'>The Mazda RX-8 is a beautiful automobile. &lt;a href="http://www.mindzeb.com/rx8.html"&gt;Here are a few links&lt;/a&gt; I threw together.&lt;br /&gt;&lt;br /&gt;Zoom! Zoom!&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-111759548967312035?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/111759548967312035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=111759548967312035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111759548967312035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111759548967312035'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/05/rx-8-links.html' title='RX-8 Links'/><author><name>E. Bruce Shankle III</name><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-7230680.post-111601676038366916</id><published>2005-05-13T13:36:00.000-07:00</published><updated>2005-05-13T13:39:20.386-07:00</updated><title type='text'>Congrats Tim!</title><content type='html'>Tim Johnson sold his Reality Engine to Epic!!!!&lt;br /&gt;&lt;br /&gt;I certainly hope Epic will leverage Tim's CLR-based scripting system.&lt;br /&gt;&lt;br /&gt;Read more &lt;a href="http://www.bluesnews.com/cgi-bin/board.pl?action=viewthread&amp;threadid=56884"&gt;here&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-111601676038366916?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/111601676038366916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=111601676038366916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111601676038366916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111601676038366916'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/05/congrats-tim.html' title='Congrats Tim!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-111578980931197207</id><published>2005-05-10T22:28:00.000-07:00</published><updated>2005-05-10T22:36:49.333-07:00</updated><title type='text'>The Age of Spiritual Machines</title><content type='html'>I just finished Kurzweill's book "The Age of Spiritual Machines". I highly recommend this for programmers who like a glimpse into a likely future.&lt;br /&gt;&lt;br /&gt;What I found most interesting in this book is the notion that we humans tend to narrowly define intelligence as some process only we are capable of, when in fact, the process of evolution itself is quite intelligent (albeit slow). In addition, the 'simplicity' of intelligence i.e. what simple processes result in strikingly 'intelligent' systems is refreshing.&lt;br /&gt;&lt;br /&gt;This book covers neural networks, genetic algorithms, and 'expert' systems in non-boring informative style that is fun to read.&lt;br /&gt;&lt;br /&gt;It shows us a future where the line between man and machine (and even individual consciousnesses) blur. It's the most tangible 'Heaven' I've ever seen painted.&lt;br /&gt;&lt;br /&gt;But I do wonder, if we no longer have a struggle, will we lose our identity?&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-111578980931197207?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/111578980931197207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=111578980931197207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111578980931197207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111578980931197207'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/05/age-of-spiritual-machines.html' title='The Age of Spiritual Machines'/><author><name>E. Bruce Shankle III</name><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-7230680.post-111312068857788565</id><published>2005-04-10T01:07:00.000-07:00</published><updated>2005-04-10T01:11:28.576-07:00</updated><title type='text'>Our Robotic Future</title><content type='html'>Marshal Brain paints a very &lt;a href="http://marshallbrain.com/robotic-nation.htm"&gt;concerning picture of our robotic future&lt;/a&gt;. It may not be as glamourous as I once thought.&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-111312068857788565?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/111312068857788565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=111312068857788565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111312068857788565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111312068857788565'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/04/our-robotic-future.html' title='Our Robotic Future'/><author><name>E. Bruce Shankle III</name><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-7230680.post-111181487656735709</id><published>2005-03-25T20:58:00.000-08:00</published><updated>2005-03-25T21:28:50.356-08:00</updated><title type='text'>Reality Engine Rocks!</title><content type='html'>A picture of genius is worth an order of magnitude more than a 1000 words :).&lt;br /&gt;&lt;br /&gt;I always thought of folks like Id, Epic, and Bungie as the sort of dev groups that raise the bar the highest....until reality slapped me in the face...literally.&lt;br /&gt;  &lt;br /&gt;There is a true genius behind the &lt;a href="http://artificialstudios.com/"&gt;Reality Engine&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I stand in awe.&lt;br /&gt;&lt;br /&gt;-Bruce&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-111181487656735709?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/111181487656735709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=111181487656735709' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111181487656735709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111181487656735709'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/03/reality-engine-rocks.html' title='Reality Engine Rocks!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-111122187433035395</id><published>2005-03-19T00:35:00.000-08:00</published><updated>2005-03-19T00:44:34.330-08:00</updated><title type='text'>E3 Expo Trip</title><content type='html'>I'm in the process of organizing a trip to &lt;a href="http://www.e3expo.com/"&gt;E3&lt;/a&gt;. I've only missed the expo once in the last 4 years, but it's not a fun trip to do alone.&lt;br /&gt;&lt;br /&gt;If any software developers / gamers in or around the triangle (Raleigh,Durham,Chapel Hill) are going I'd be interested in a meet-up here and/or there to chew the fat.&lt;br /&gt;&lt;br /&gt;If nothing else it would be nice to know a few NC natives in case riots break out in LA. We could form a wagon circle or something....&lt;br /&gt;&lt;br /&gt;Email me: &lt;a href="mailto:bshankle713@nc.rr.com"&gt;bshankle713@nc.rr.com&lt;/a&gt; if you're interested.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-111122187433035395?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/111122187433035395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=111122187433035395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111122187433035395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/111122187433035395'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/03/e3-expo-trip.html' title='E3 Expo Trip'/><author><name>E. Bruce Shankle III</name><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-7230680.post-110869339516353517</id><published>2005-02-17T18:19:00.000-08:00</published><updated>2005-02-17T18:23:15.163-08:00</updated><title type='text'>My nephew</title><content type='html'>Recently my nephew emailed me about "The DaVinci Code". Sounds I'm going to have to pick that up. It's amazing how literature can stir the mind. I wonder if this blog will have the same effect?&lt;br /&gt;&lt;br /&gt;In other news, I recently acquired my second Mac: an iBook G4 1.2 Ghz. I upped the ram to 768 MB and got the 60 GB drive. I'm pleasantly surprised by the quality of this notebook.&lt;br /&gt;&lt;br /&gt;You'd never believe I write C# code all day for ASP.NET web sites....and yet, I'm so in love with OS X and all that I feel like a kid in a candy store....yummmy....&lt;br /&gt;&lt;br /&gt;Keep up the good work Steve Jobs. Looking forward to seeing CELL in one of these....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-110869339516353517?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/110869339516353517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=110869339516353517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/110869339516353517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/110869339516353517'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/02/my-nephew.html' title='My nephew'/><author><name>E. Bruce Shankle III</name><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-7230680.post-110490337056131871</id><published>2005-01-04T21:33:00.000-08:00</published><updated>2005-01-04T21:36:58.196-08:00</updated><title type='text'>Visavlon.NET or Visual3D.NET</title><content type='html'>After &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=34528"&gt;watching Daniel&lt;/a&gt;, I realized this just has to be built.&lt;br /&gt;&lt;br /&gt;I shall do it.&lt;br /&gt;&lt;br /&gt;Who wants to help?&lt;br /&gt;&lt;br /&gt;-Bruce&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-110490337056131871?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/110490337056131871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=110490337056131871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/110490337056131871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/110490337056131871'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2005/01/visavlonnet-or-visual3dnet.html' title='Visavlon.NET or Visual3D.NET'/><author><name>E. Bruce Shankle III</name><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-7230680.post-110125270145501193</id><published>2004-11-23T15:25:00.000-08:00</published><updated>2004-11-23T15:31:41.456-08:00</updated><title type='text'>On Pseudoscience</title><content type='html'>I'm reading a fascinating book by Carl Sagan: "The Demon-Haunted World". Here's a quote from the first chapter which I like:&lt;br /&gt;&lt;br /&gt;"Naturally people try various belief systems on for size, to see if they help. And if we're desperate enough, we become all too willing to abandon what may be perceived as the heavy burden of skepticism. Pseudoscience speaks to powerful emotional needs that science often leaves unfulfilled. It caters to fantasies about personal powers we lack and long for (like those attributed to comic book superheroes today, and earler, to the gods). In some of its manifestations, it offers satisfaction of spiritual hungers, cures for disease, promises that death is not the end. It reassures us of our cosmic centrality and importance. It vouchsafes that we are hooked up with, tied to, the Universe."&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-110125270145501193?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/110125270145501193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=110125270145501193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/110125270145501193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/110125270145501193'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/11/on-pseudoscience.html' title='On Pseudoscience'/><author><name>E. Bruce Shankle III</name><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-7230680.post-109748756531338513</id><published>2004-10-11T02:37:00.000-07:00</published><updated>2004-10-11T02:39:25.313-07:00</updated><title type='text'>My iMac</title><content type='html'>A quick note to say that I finally got in my 20" iMac and I AM IN LOVE. This is my first Apple computer. It's been a dream to edit videos and it's so quiet compared to my PC workstation. Great job Apple! I may buy another one of these for the office. If/when I get Windows XP running on Virtual PC 7 I may just get rid of my PC workstations and go stricly Mac.&lt;br /&gt;&lt;br /&gt;Whowuddathunkit?&lt;br /&gt;&lt;br /&gt;-B&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-109748756531338513?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/109748756531338513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=109748756531338513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109748756531338513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109748756531338513'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/10/my-imac.html' title='My iMac'/><author><name>E. Bruce Shankle III</name><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-7230680.post-109599923725426525</id><published>2004-09-23T21:11:00.000-07:00</published><updated>2004-09-23T21:13:57.256-07:00</updated><title type='text'>So that is my calling...</title><content type='html'>Recently took this little &lt;a href="http://www.cmi-lmi.com/kingdom.html"&gt;survey&lt;/a&gt; and it this about me:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:+1;"&gt;&lt;img src="http://www.cmi-lmi.com/images/y.gif" align="bottom" height="40" width="21" /&gt;our distinct personality, &lt;strong&gt;The Discoverer&lt;/strong&gt;, might be found in most of the thriving kingdoms of the time. Your overriding goal is to go where no one else has ever gone before. Regardless of the number of available natural problems to be solved, it is not unusual for you to continually challenge yourself with new situations or obstacles that you have created. You are an insatiable explorer of people, places, things and ideas. You thrive on constant change and anything new or different. On the positive side, you can be creatively rational as well as open minded and just. On the negative side, you might be an impractical and indecisive procrastinator. Interestingly, your preference is just as applicable in today's corporate kingdoms.&lt;br /&gt;&lt;br /&gt;That sounds about right.&lt;br /&gt;&lt;br /&gt;-B&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/7230680-109599923725426525?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/109599923725426525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=109599923725426525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109599923725426525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109599923725426525'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/09/so-that-is-my-calling.html' title='So that is my calling...'/><author><name>E. Bruce Shankle III</name><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-7230680.post-109520156794610131</id><published>2004-09-14T15:32:00.000-07:00</published><updated>2004-09-14T15:40:28.230-07:00</updated><title type='text'>A Quick Note about Test Driven Development</title><content type='html'>I recently bought a 3rd party library to use in an ongoing project. After a running into a few issues, I suspected the library was buggy. So I added some unit-tests to our test-harness, and lo-and-behold there were bugs. Not intricate, hard-to-find bugs, but glaring, completely-non-functional areas of the library. But they were just things that didn't occur if you ran their code as it was used in all of their samples (this had to do with a stream management and their crashed when I closed a stream inside a Using() clause in C#).&lt;br /&gt;&lt;br /&gt;I called the company, and asked if they did unit testing: they don't.&lt;br /&gt;&lt;br /&gt;I emailed them my test harness so they can work out these issues I ran into but I didn't get the sense they saw the value in unit testing their library.&lt;br /&gt;&lt;br /&gt;My message to all of you is: UNIT TEST YOUR CODE! UNIT TEST EVERY SINGLE FUNCTION! THINK OF WAYS SOMEONE MAY INADVERTENLY USE YOUR CODE AND TEST FOR THAT TOO!&lt;br /&gt;&lt;br /&gt;Software development is hard enough....let's not make it any harder with lacking quality control.&lt;br /&gt;&lt;br /&gt;Bottom line: If it's not worth writing a unit test for your code, then  your code isn't worth writing.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-109520156794610131?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/109520156794610131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=109520156794610131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109520156794610131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109520156794610131'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/09/quick-note-about-test-driven.html' title='A Quick Note about Test Driven Development'/><author><name>E. Bruce Shankle III</name><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-7230680.post-109520107740259509</id><published>2004-09-14T15:18:00.000-07:00</published><updated>2004-09-14T15:31:17.403-07:00</updated><title type='text'> VS.Net / Visual SourceSafe Integration Issues</title><content type='html'>If you're on a team of developers using VS.Net with Visual Source Safeyou may face issues concerning web projects that are counter-intuitive to solve.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/tdlg_ch6.asp"&gt;This document&lt;/a&gt; really cleared up some issues I was running into but there are still questionable issues like the 'solution.root' default name when adding a solution to vss and then acutally adding the .sln files in a 'solution' folder under the 'solution.root', or creating 'project_1" folder when you create a new project and add it to a soution with the same name and then add those to vss.&lt;br /&gt;&lt;br /&gt;If you want to avoid a lot of this hastle, I recommend that you don't put solutions in vss. Only put projects in vss and have each developer on the team create a local solution file to which he/she adds projects from sourcesafe.&lt;br /&gt;&lt;br /&gt;And if you want to have a web project added from sourcesafe NOT be in C:\inetpub\wwwroot, then create the virtual directory where you want it BEFORE you add the project from vss.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-109520107740259509?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/109520107740259509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=109520107740259509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109520107740259509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109520107740259509'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/09/vsnet-visual-sourcesafe-integration.html' title=' VS.Net / Visual SourceSafe Integration Issues'/><author><name>E. Bruce Shankle III</name><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-7230680.post-109411847602177676</id><published>2004-09-02T02:45:00.000-07:00</published><updated>2004-09-02T02:47:56.020-07:00</updated><title type='text'>Scoble is cool, but I had to get a few words in</title><content type='html'>After I read &lt;a href="http://radio.weblogs.com/0001011/2004/08/31.html#a8173"&gt;this&lt;/a&gt;....&lt;br /&gt;I just had to write:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Robert,&lt;/p&gt;  &lt;p&gt;I read your blog every day, finally you said something I want to respond  to...&lt;/p&gt;  &lt;p&gt;I am a professional software developer. I have been to Redmond to meet with  the CLR team (Anders H. et. al.) before it was called the CLR, I drove Don Box's  Porsche at PDC and had debates with Sells in the halls over how garbage  collectors should work. I wrote articles for MSDN (ask Josh T. if you don't  believe me), I've got my MCSD ticket, I'm an MSDN Universal Subscriber, I manage  a team of Windows developers building a .Net based web system, I help direct a  very large facility based on MS technologies, I worked at Epic Games during the  inception of Unreal and the XBox and had supper with Seamus Blackley, Tim  Sweeney, and Cliffy B to talk about how the XBox controller was too big! I post  on Channel9 sometimes (thanked Mr. Gates for keeping me fed on there I did) and  I actually like MS technology.&lt;/p&gt;  &lt;p&gt;I've probably done everything you can do to buddy up with Microsoft over the  years EXCEPT apply for a job. I may do that one day, but only if I can work on  Ander's team or with Don or the Bungie guys.  And you know what: I also have  used several tablet PCs, one for an extended period before I 'unborrowed'  it.&lt;/p&gt;  &lt;p&gt;Anyway....guess what I did today?&lt;/p&gt;  &lt;p&gt;I just ordered a new 20" iMac!&lt;/p&gt;  &lt;p&gt;Am I unreasonable? Heck no! I'm a freakin' windows guru (at least in my  little circles) and plan to remain one forever, but after I spent HOURS AND  HOURS AND HOURS trying to make a DVD movie of my newborn son on Windows XP....I  just gave up. Maybe I'm just dumb, but when I tried it on a Mac....I was hooked.  Apple may not have a tablet (yet), but they for darn sure have an impressively  functional and easy to use multimedia/content creation system. (I also installed  all their dev tools on a borrowed Mac, not too shabby).&lt;/p&gt;  &lt;p&gt;Can your tablet PC allow me to hook up a USB Midi-keyboard and compose music  with 80 software instruments rendering their wave-forms in realtime which  becomes a track for a video I grabbed from my mini-dv camcorder which  cross-fades, titles, effects and other edits on top of a $0.99 Sting song I just  bought from the iTunes Store? All with just the software that shipped with the  OS? The resulting DVD is getting a cool customized menu system that will  actually work on my JVC DVD player and I can burn a bunch of copies for my  family for Xmas, while organizing THOUSANDS of digital photos I can search and  categorize with WinFS-would-be ease...and use Ken Burns effects to merge them  into my DVD as well....&lt;/p&gt;  &lt;p&gt;How much would it cost to add all the software to a tablet PC to do all that?  How frustrated do you have to get before you give up and buy a mac? Can an Intel  or AMD proc even fathom the SIMD loading the G5 is under doing all that? NO!  Alitvec kicks PC ass dude.&lt;/p&gt;  &lt;p&gt;I know you were just trying to start a flamewar, but dude, call Mr. Gates and  ask for an XBox 2 Dev kit....um...I mean...get a Macintosh and play around with  it for a few days. Do an honest review of it and put it on your blog.&lt;br /&gt;You'll  have answered your own question.&lt;/p&gt;  &lt;p&gt;You'll begin to see it's not any one thing that makes Mac superior to a PC  (tablet or otherwise), it's the complete package of all that I mentioned above  wrapped in a beautiful (read: non-RondalMcDonald-UI like Windows XP has) GUI,  running silently, and taking up no desk space.... yummmmy.&lt;/p&gt;  &lt;p&gt;Anyway...tell Don Box I said hello and get your head out of the sand....get  an iMac, use it, review it, tell us what you find.&lt;/p&gt;  &lt;p&gt;I tried to post all this on your blog tonight to add to the flames...but alas  it didn't show up...so I'm emailing to you.&lt;/p&gt;  &lt;p&gt;I look forward to you comparing and contrasting your tablet pc to a mac.  :)&lt;/p&gt;  &lt;p&gt;-Bruce Shankle&lt;br /&gt;&lt;a href="http://home.nc.rr.com/bshankle/" target="_blank"&gt;http://home.nc.rr.com/bshankle/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;PS: Please tell me the Avalon (edit: Aero I mean or whoever the hell is doing  the next UI) team members have Macs. OS X is a great study in UI design. Heck  give Macs to the Avalon team too....&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-109411847602177676?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/109411847602177676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=109411847602177676' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109411847602177676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109411847602177676'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/09/scoble-is-cool-but-i-had-to-get-few.html' title='Scoble is cool, but I had to get a few words in'/><author><name>E. Bruce Shankle III</name><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-7230680.post-109316532766940820</id><published>2004-08-22T01:55:00.000-07:00</published><updated>2004-08-22T02:02:07.670-07:00</updated><title type='text'>ilovebees 343 gs</title><content type='html'>APPROACH VECTOR &lt;a href="http://www.ilovebees.com/"&gt;ESTABLISHED&lt;/a&gt;&lt;br /&gt;BEGIN POLAR INSERTION AT NEXT REVELOTION&lt;br /&gt;PRIMARY CORE CONTACT &lt;a href="mailto:bshankle713@nc.rr.com"&gt;BSHANKLE713@NC.RR.COM&lt;/a&gt;&lt;br /&gt;SECONDARY CORE CONTACT &lt;a href="mailto:bshankle1216@nc.rr.com"&gt;BSHANKLE1216@NC.RR.COM&lt;/a&gt;&lt;br /&gt;TERTIARY CORE CONTACT &lt;a href="mailto:bshankle@ddasoft.com"&gt;BSHANKLE@DDASOFT.COM&lt;/a&gt;&lt;br /&gt;BEGIN ON SIGNAL 686&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-109316532766940820?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/109316532766940820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=109316532766940820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109316532766940820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109316532766940820'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/08/ilovebees-343-gs.html' title='ilovebees 343 gs'/><author><name>E. Bruce Shankle III</name><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-7230680.post-109315975437253073</id><published>2004-08-22T00:23:00.000-07:00</published><updated>2004-08-22T00:29:14.373-07:00</updated><title type='text'>Halo on Legendary</title><content type='html'>I've been working my way (very systematically) thru all of Halo on every single difficulty. I'm up to Legendary now. I'm about half-way thru and this has to be the most difficult FPS I've ever played when played at this level. With that said, I've dicsovered some AI bugs that give you an advantage.&lt;br /&gt;&lt;br /&gt;While playing last night, I stopped inside a Covenant ship, and just looked around at every texture, surface, and light. While starting at the floor it dawned on me how bump-mapping achieves the effect of having 3d without 3d. I mean, I'd always heard the term, and sorta 'got it'. But now I 'really' get it. I mean, I was able to construct an algorithm in my head for how to light a pixel given a 'bump map', light source and color, and pov. Think about it, it's actually easy. No wonder it's gonna be all over in Halo 2. It ought to be!&lt;br /&gt;&lt;br /&gt;I did discover some very bizarre surround-sound bugs in Halo. Freaky stuff. I hope Bungie has had some more time on Halo2 to work out the 5.1 issues.&lt;br /&gt;&lt;br /&gt;I can't wait!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-109315975437253073?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/109315975437253073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=109315975437253073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109315975437253073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109315975437253073'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/08/halo-on-legendary.html' title='Halo on Legendary'/><author><name>E. Bruce Shankle III</name><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-7230680.post-109307013385916167</id><published>2004-08-20T23:30:00.000-07:00</published><updated>2004-08-20T23:36:09.913-07:00</updated><title type='text'>Bruce Hornsby</title><content type='html'>Just a quick note: picked up Bruce Hornsby's latest album: Halcyon Days. It's the kind of album that the first time I listened to it I thought I wasn't gonna like it. But after a couple of days of on and off listening, I'm totally hooked.&lt;br /&gt;&lt;br /&gt;Bruce is in concert here in my town. I couldn't make it, but I did see him in concert in San Jose a few years back and even got to meet him after the show. He's a great person, very down-to-earth and inspiring. It was the most moving concert I'd ever been to, and it was just him and a piano.&lt;br /&gt;&lt;br /&gt;Mr. Hornsby, you're a genius.  Keep up the good work!&lt;br /&gt;&lt;br /&gt;Wonder how much he'd charge to give me piano lessons?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-109307013385916167?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/109307013385916167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=109307013385916167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109307013385916167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/109307013385916167'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/08/bruce-hornsby.html' title='Bruce Hornsby'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108917680551034118</id><published>2004-07-06T22:02:00.000-07:00</published><updated>2004-07-06T22:06:45.510-07:00</updated><title type='text'>Dude, you're getting a Mac</title><content type='html'>Yep, that's right. I finally decided to take the plunge and get an &lt;a href="http://www.apple.com/"&gt;Apple&lt;/a&gt; computer. Not that I intend to 'switch' but simply add it to my arsenal of programming skills. In addition, the iLife product line really impresses me. Of course, the reality could turn out to be different than the perception, so i'll keep you posted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108917680551034118?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108917680551034118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108917680551034118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108917680551034118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108917680551034118'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/07/dude-youre-getting-mac.html' title='Dude, you&apos;re getting a Mac'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108854710178579797</id><published>2004-06-29T15:10:00.000-07:00</published><updated>2004-06-29T15:11:41.786-07:00</updated><title type='text'>I have to get a new video card....again</title><content type='html'>'cause I really want to experience real-time high hynamic range image-based lighting. Do you? If so &lt;a href="http://www.daionet.gr.jp/~masa/rthdribl/"&gt;go here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108854710178579797?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108854710178579797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108854710178579797' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108854710178579797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108854710178579797'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/i-have-to-get-new-video-cardagain.html' title='I have to get a new video card....again'/><author><name>E. Bruce Shankle III</name><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>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7230680.post-108824435213885033</id><published>2004-06-26T03:03:00.000-07:00</published><updated>2004-06-26T03:05:52.136-07:00</updated><title type='text'>Always</title><content type='html'>set the ID of dynamically created web user controls in your ASP.NET pages so events on post-back go the the 'right' places. If you don't set the ID, then the runtime will do it for you and the results may not route events on post-back the way you intend.&lt;br /&gt;&lt;br /&gt;Took me an hour to figure that out. Hope I've saved someone some trouble.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108824435213885033?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108824435213885033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108824435213885033' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108824435213885033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108824435213885033'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/always.html' title='Always'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108780565870202430</id><published>2004-06-21T01:11:00.000-07:00</published><updated>2004-06-21T01:14:18.703-07:00</updated><title type='text'>Chillow: I want one!</title><content type='html'>Keep your pillow cool at night, especially needed in North Carolina's jungle-like summers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.soothsoft.com/chillow.htm"&gt;Chillow&lt;/a&gt;, great name, cool (pun intended) idea!&lt;br /&gt;Reviewed &lt;a href="http://www.msnbc.msn.com/id/5239199/"&gt;here.&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/7230680-108780565870202430?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108780565870202430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108780565870202430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108780565870202430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108780565870202430'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/chillow-i-want-one.html' title='Chillow: I want one!'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108780164491878043</id><published>2004-06-21T00:02:00.000-07:00</published><updated>2004-06-25T13:32:23.436-07:00</updated><title type='text'>Do you speed?</title><content type='html'>Of course you do. So pick up this book: "&lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/0380807580/qid=1087801598/sr=1-1/ref=sr_1_1/104-4997193-9408721?v=glance&amp;s=books"&gt;A Speeder's Guide to Avoiding Tickets&lt;/a&gt;" by Sgt. James M. Eagan, New York State Patrol, retired. It's a great view into the psychology of a traffic officer and has some great tips on handling the inevitable violation. Probably the most valuable piece of information: most people actually talk themselves 'into' a ticket and that getting a ticket can be handled in such a way that your attorney can more easily make it 'not stick'. But you have to play your cards right from the instant you see the blue-light in your rear-view mirror until you drive away. Get the book. You'll see what I mean.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108780164491878043?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108780164491878043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108780164491878043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108780164491878043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108780164491878043'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/do-you-speed.html' title='Do you speed?'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108767015623170928</id><published>2004-06-19T11:12:00.000-07:00</published><updated>2004-06-19T16:15:37.233-07:00</updated><title type='text'>Required Reading: DRM</title><content type='html'>From RIAA suing pimply-faced college kids to Russian scientists being told to stay away from US conferences because we've become a lot of IP-grabbing but-heads, &lt;a href="http://craphound.com/msftdrm.txt"&gt;this speech&lt;/a&gt; on DRM given to Microsoft Reseach by Cory Doctorow of the EFF is a must read for anyone following the development and deployment of DRM technologies. Someone actually got sued over cell-phone ringtones? Geeesh...give me a break.&lt;br /&gt;&lt;br /&gt;If you haven't read the speech yet, go back and read it. Now continue.&lt;br /&gt;&lt;br /&gt;In my opinion, DRM isn't ever going to matter to anyone except the lawyers who make money arguing over it, and the companies who make money developing the technology (that will always be easily broken in short order). Once you ship the bits to the world, your DRM doesn't matter, at least to the parties the lawyers perceive are the threat to the IP.&lt;br /&gt;&lt;br /&gt;Where are the philosophers when we need them? There is a line of philosophy that deals with what is called Categorical Imperative. It states that in order to determine if something is 'right' or 'wrong', you simply posit that doing such a thing were 'required'. For example: Is telling lies right or wrong? Well, what if it were 'required' that everything I said were a lie? Doesn't that seem wrong? In essence, you can establish a moral base on this thinking.&lt;br /&gt;&lt;br /&gt;For me, I'm simply going to apply this philosophy to my use of media. And quite frankly, I don't really care what anyone does with DRM. Because ulitimately I'm going to do what I want to do with the property I pay for and use my own moral judgement if my usage is good or bad.&lt;br /&gt;&lt;br /&gt;And yes, I have a DVR, and yes, I fast-forward thru ads.&lt;br /&gt;And yes, I rip CDs to MP3, burn them to CDR and play them in my car. I have over 600 CDs worth of songs on a couple of of CDRs in my cars sun-visor.&lt;br /&gt;And yes, I rip DVDs to my hard drive on occasion because I'm not carrying them around with me when I travel and risk losing or scratching them.&lt;br /&gt;And yes, I have a custom hosts file that redirects me to MY computer for 99% of urls for advertisements.&lt;br /&gt;And yes, I right-click in Firefox and click "block images from x" whenever I see an ad.&lt;br /&gt;And yes, SO DOES ANYONE WITH HALF A BRAIN!&lt;br /&gt;So sue us!&lt;br /&gt;Maybe Shakespeare was right about the lawyers...except for this one cool I know in Texas who became a software developer :) .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108767015623170928?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108767015623170928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108767015623170928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108767015623170928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108767015623170928'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/required-reading-drm.html' title='Required Reading: DRM'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108753475436278908</id><published>2004-06-17T21:57:00.000-07:00</published><updated>2004-06-17T21:59:14.363-07:00</updated><title type='text'>Say Hello To Steve Zimmerman</title><content type='html'>My good friend &lt;a href="http://tightlines.blogspot.com/"&gt;Steve Zimmerman&lt;/a&gt; started a blog the other day. He's a great writer in several languages including C/C++/C# and best of all, English.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108753475436278908?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108753475436278908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108753475436278908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108753475436278908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108753475436278908'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/say-hello-to-steve-zimmerman.html' title='Say Hello To Steve Zimmerman'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108744726891037752</id><published>2004-06-16T21:38:00.000-07:00</published><updated>2004-06-19T11:11:39.503-07:00</updated><title type='text'>Joel on Software</title><content type='html'>Linked on Slashdot today, this is a great article:&lt;br /&gt;&lt;a href="http://www.joelonsoftware.com/articles/APIWar.html"&gt;http://www.joelonsoftware.com/articles/APIWar.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No wonder we haven't seen the IE team surface lately....&lt;br /&gt;&lt;br /&gt;Here is a counter to Joe's stance, good points as well:&lt;br /&gt;&lt;a href="http://www.oliviertravers.com/archives/2004/06/17/microsoft-lost-the-api-war-not-so-fast/"&gt;http://www.oliviertravers.com/...not-so-fast/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-B&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108744726891037752?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108744726891037752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108744726891037752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108744726891037752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108744726891037752'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/joel-on-software.html' title='Joel on Software'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108684649882692149</id><published>2004-06-09T22:15:00.000-07:00</published><updated>2004-06-09T22:48:18.826-07:00</updated><title type='text'>Understanding Free Software</title><content type='html'>Back in 1999 I was struggling with my personal understanding of free software. I was at a point in my career where I worked on nothing but licensed end-user products and consulting projects. I was somewhat oblivious to the words "free" and/or "open-source" other than my occasional tinkering with Slackware. I thought I'd try to understand those notions better, so I spent a lot of time thinking. Then I wrote this &lt;a href="http://home.nc.rr.com/bshankle/understandingfreesoftware.html"&gt;essay about my thoughts on the subject&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I really think there is some liberal-sharing-utopian part of me that really wants to be involved in those sorts of initiatives. Those feelings were very much compounded when I met Linus Torvalds at a trade-show in New York when he was still with Transmeta. (the transmeta-powered IBM notebook I saw, btw, was running way-to-hot to be as efficient as was claimed). But five years have passed since I wrote that and I still haven't found a job that will pay me to write software that's free or open-source.&lt;br /&gt;&lt;br /&gt;It's not that I don't like free software. As a matter of fact I do, I use it all the time, rely on it even. Furthermore, I've contributed some free software to the world, namely &lt;a href="http://www.planetunreal.com/undox/"&gt;Undox&lt;/a&gt; and &lt;a href="http://home.nc.rr.com/bshankle/cfhtml/index.html"&gt;Anole&lt;/a&gt;. It's just I've never been involved with a business model where I could do that continually and pay my bills.&lt;br /&gt;&lt;br /&gt;My point? You tell me. :)&lt;br /&gt;&lt;br /&gt;-Bruce&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108684649882692149?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108684649882692149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108684649882692149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108684649882692149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108684649882692149'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/understanding-free-software.html' title='Understanding Free Software'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108675450513756254</id><published>2004-06-08T21:10:00.000-07:00</published><updated>2004-06-08T23:36:00.376-07:00</updated><title type='text'>Object Serialization and Versioning</title><content type='html'>Any modern software application that doesn't serialize data to XML at least to some degree isn't very forward thinking (what good is your data 50 years from now?) or is intentionally being proprietary (nothing wrong with that). Now that almost every modern development platform supports XML it's easy to accomplish serialization to an easy-to-parse, human-readable format (with built-in schema info. if you wish). But don't rely on your nearest class-library if your application is going to have to persist (pun intended) for any duration, be used by early and late adopters, or have more than one version deployed as time passes. You can't always take this easy path:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Stream stream = File.Open(sFileName, FileMode.Create);&lt;br /&gt;SoapFormatter formatter = new SoapFormatter();&lt;br /&gt;formatter.Serialize(stream, SomeObject);&lt;br /&gt;stream.Close();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The SoapFormatter is GREAT for introspecting your class and XMLifying it. And although the XML produced is fatter, by necessity, than that produced by the vanilla XML serializer, the SoapFormatter can get at protected members and doesn't require a public default constructor.&lt;br /&gt;&lt;br /&gt;But as we stand on the shoulders of giants, let's not forget our parachute. In other words: this approach is 'misleadingly' easy because if you ever have to make changes to your object (like in a later version when you add new members) the SoapFormatter will refuse to load your file and throw an exception like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;System.Runtime.Serialization.SerializationException : Wrong number of Members.&lt;br /&gt;Object SomeObject has 9 members, number of members deserialized is 8.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This is a similar predicament you could get into with MFC's CArchive mechanism which took care of persisting data to a binary format. All was fine and dandy until you had to make changes to what you were persisting, then you essentially broke backwards compatibility with older files.&lt;br /&gt;&lt;br /&gt;To make a proper application, you ended up having to write your own persistence mechanism to take versioning into account. After all, any application that doesn't open files that previous versions created sucks. What if Word 2003 couldn't open Word 95 documents?&lt;br /&gt;&lt;br /&gt;So what's my rant? Well having to write your own persistence mechanism to take versioning into account in this day and age is a pain. With all the thought that's gone into object serialization from Java RMI to SOAP, why hasn't someone addressed object versioning?&lt;br /&gt;&lt;br /&gt;If anyone out there has some answers and wants to prevent me from reinventing a really old wheel, please &lt;a href="mailto:bshankle1216@nc.rr.com"&gt;email me&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In the meantime, I'm writing my own serialization system (again) just in a different language that actually supports backwards compatibility within my application and doesn't throw exceptions when poor users try to load an older file...geesh...it's 2004 for crying out loud!&lt;br /&gt;&lt;br /&gt;Can someone ask Don Box to please think about this?&lt;br /&gt;&lt;br /&gt;-Bruce&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108675450513756254?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108675450513756254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108675450513756254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108675450513756254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108675450513756254'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/object-serialization-and-versioning.html' title='Object Serialization and Versioning'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108667242432916554</id><published>2004-06-07T22:01:00.000-07:00</published><updated>2004-06-07T22:27:04.330-07:00</updated><title type='text'>Thoughts on VoiceXML</title><content type='html'>Back in March the W3C released the &lt;a href="http://www.w3.org/TR/voicexml20/"&gt;latest VoiceXML&lt;/a&gt; standard. When designing &lt;a href="http://home.nc.rr.com/bshankle/images/ivrquest.png"&gt;IVR platforms&lt;/a&gt; I struggle with whether or not to try to embrace VoiceXML.&lt;br /&gt;&lt;br /&gt;Outside the fact that VoiceXML is a published standard, one of VoiceXML's strengths it that it has a lot of industry "steam" behind it. But that is also one it's weaknesses. If you've sat in a meeting with a bunch of bickering techno-weenies arguing over best-practices you'll see where I'm coming from.&lt;br /&gt;&lt;br /&gt;I've often found that such standards aren't tempered by what's needed in the 'real world' as much as they could be. Witness the butchery that occured with HTML by marketeer-driven web site designers looking to layout a pixel-perfect product page when HTML had no facility for such nonsense. Then came applets, DHTML, CSS, plugins, and whole host of other nonsense such that HTML as it was originally published was little more than a starting point for what will soon be XAML (you wait and see).&lt;br /&gt;&lt;br /&gt;It seems to me that VoiceXML lacks the fidelty I've built into IVR tools in the past and things I may tackle in the future:&lt;br /&gt;1) integration with a programming environment (like .Net)&lt;br /&gt;2) a consistent and reliable approach for handling outbound calls&lt;br /&gt;3) support of commodity telephony products (like Asterisk)&lt;br /&gt;4) the "I don't have to pay a lot of money to some big company like IBM or Microsoft feature"&lt;br /&gt;&lt;br /&gt;In a sense, I guess I feel like early web developers, somewhat constrained by a committee-designed standard.&lt;br /&gt;&lt;br /&gt;If VoiceXML is on your brain, you might be interested in &lt;a href="http://www.developer.com/voice/article.php/11062_1573371_1"&gt;this article&lt;/a&gt; on determining if it's is right for your application.&lt;br /&gt;&lt;br /&gt;Don't get me wrong. I'm not trying to negate the benefits of embracing a standard. A devil's advocate might ask me if I'd embrace VoiceXML if it met all my needs. And my likely response would be: "Probably not, just because I like the freedom to think outside the box when I want to."&lt;br /&gt;&lt;br /&gt;My excuse has always been: "If the fidelity of my IVR approach exceeds that of VoiceXML, and I persist to XML anyway, can't a simple transform be used on my file to create fodder for the VoiceXML engine?"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Keep thinking,&lt;br /&gt;Bruce&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108667242432916554?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108667242432916554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108667242432916554' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108667242432916554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108667242432916554'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/thoughts-on-voicexml.html' title='Thoughts on VoiceXML'/><author><name>E. Bruce Shankle III</name><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-7230680.post-108658618522512200</id><published>2004-06-06T22:16:00.000-07:00</published><updated>2004-06-07T12:35:05.086-07:00</updated><title type='text'>Asterisk is cool!</title><content type='html'>I recently got Fedora Core 1 working quite nicely with &lt;a href="http://www.asterisk.org/"&gt;Asterisk&lt;/a&gt; and I must say I am impressed. For those of you who know me, you know I've developed several IVR systems in the last decade and I've had a decent amount of experience deploying telephony systems....and I'll say it again: Asterisk is AWESOME!&lt;br /&gt;&lt;br /&gt;If you are a small business in need of a quality telephone system on the cheap here is my recommendation:&lt;br /&gt;&lt;br /&gt;1. Get a 23 channel PRI line from your favorite carrier ($300 or less in most areas)&lt;br /&gt;2. Get a bunch of cheap GrandStream Budgetone SIP phones ($80 each)&lt;br /&gt;3. Get a &lt;a href="http://www.digium.com/index.php?menu=wildcard_t100p"&gt;Digium Wildcard T100P&lt;/a&gt; ($495)&lt;br /&gt;4. Set up a Fedora Core 1 Linux box and get Asterisk running on it to serve as your PBX and voice mail system&lt;br /&gt;&lt;br /&gt;If you play your monkeys right, you can be in business with a high-quality phone system that'll blow away anything Lucent, Nortel, or Cisco has by a LONG shot, for under $1000.00. &lt;br /&gt;&lt;br /&gt;I even called and spoke with Mark Spencer about it (owner of Digium, and original author of Asterisk). He's a really sharp guy and he has done an amazing job creating a business model for Digium based on open-source.&lt;br /&gt;&lt;br /&gt;I'm very excited about having an interface to the telephone company that allows me to ditch Cisco and H.323.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7230680-108658618522512200?l=bruceshankle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bruceshankle.blogspot.com/feeds/108658618522512200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7230680&amp;postID=108658618522512200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108658618522512200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7230680/posts/default/108658618522512200'/><link rel='alternate' type='text/html' href='http://bruceshankle.blogspot.com/2004/06/asterisk-is-cool.html' title='Asterisk is cool!'/><author><name>E. Bruce Shankle III</name><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></feed>
