Free Shooting Introduction

In the effort to promote responsible gun ownership and rights awareness, I make the following open offer to any resident or visitor in the Metro DC area:

If you have never shot a gun and would like to try, I am willing to take you shooting free of charge. I will provide the firearms, ammunition, eye/ear protection and I will cover your range fees. I guarantee if you are on the fence about gun ownership and usage, you will not be at the end of the session. You will have fun and learn a little in the process.

I do my introductions in Northern Virginia. Evenings or on the weekends at your convenience with minimal prior arrangements. Contact me for details and to schedule your free introduction!

If you are in the Chesapeake/Hampton Roads area, Brian, an NRA instructor in Virginia Beach, is willing to do the same if you're in the area on a Sunday afternoon or Monday evening. Drop him a note to make the arrangements.

5 people have learned to shoot! Would you like to be next?

Monday, March 30, 2009

"Make It Faster. See You in a Week."

Those title words are words I owe my career to.

I mentioned yesterday that I learned more in a semester of high school computer science that I did in college or professional development put together. This is not an exaggeration. The foundation that set me on the professional path I wound up on I owe to one David Scott, mathematics and computer science teacher at Pauline Johnson CVS in my hometown.

In Canada when I was growing up, we took five years of high school, not four like here. That has since changed but back then, we had a Grade 13. This final year was used to get the credits needed to get into university by high school students. Note I said university. College is not the same thing. So many kids would do their university entrance courses over Grade 12 and 13 so as to not overburden themselves.

In my fifth year, I decided to take Computer Science. This course was only offered once per year and was limited in enrollment. The prerequisites were steep. You had to have taken three years of computer courses leading up to it. Introduction to Computers and basic and advanced computer programming courses. Plus, the teacher for the advanced programming course had to agree that you'd be a good student for the course. In that area, I had no difficulties.

Besides that, the course itself was legendary. Prior year students glowed about it. You had to take it if you were serious about computers. They wouldn't say why though other than you got to see and do really neat stuff. That should have been my first warning but I took their advice and signed up.

Back then, they used a networked version of Unix called QNX (still made today) on custom Unisys hardware. We programmed in interpreted Pascal. This was my first introduction to the Unix command line, I might add.

We entered the course and the thirty odd of us spent the first two weeks getting back into programming mode with simple exercises. Since it had been nearly a year since advanced programming, this was necessary. This was simply to warm us up. Then the course really got started with us feeling pretty cocky since we were acing the quizzes we had been given.

Such ignorance is the stock in trade of 17 and 18 year olds.

Mr. Scott stood at the front of the room and announced our first assignment. We would work in teams of four. It was simple pass or fail, another unique aspect of this course. You would succeed or fail as a team and it was up to you to divide and manage the work. Then he laid the ground rules for this assignment and all that would follow.

We were free to ask him any questions about the assignment. We could request clarification, details and/or bounce ideas for solutions off him. But at no time would he provide anything but hints and he would not say if our ideas were correct or not. That was up to us to discover on our own. He would also provide no sample code. It was up to us to use the knowledge of our previous coursework to come up with solutions. We were free to implement the solutions any way we wished as long as it used Pascal and was documented in the manual that was available in the class (and only available in the class).

With the rules explained, I embarked on what was the toughest semester of my life. Ever.

Our first assignment was simple. He handed out a list of 30 names and addresses and told us where the file was on the network so we could copy it. He then stated our assignment was to sort this list of names alphabetically, last name first from A-Z. We nodded expectantly.

Then he said, "See you in a week." followed by silence.

Imagine a classroom of high school students sitting there waiting for more and nothing more coming. Someone piped up asking what he meant. He repeated his instructions and referred to the rules. What were we waiting for?

We had no idea how to proceed. Any questions on how to do this were vague reference to remember how to read files and do comparisons. It was up to us to apply them. Pass or fail was simple. Run the program from our terminal in front of him outputing the sorted list to a file or screen. 100 or 0. There was no middle ground.

I can honestly say the first two days in our groups were spent doing the 1990 equivalent of "WTF do we do now?!?". Then we picked at it a piece at a time. Opening the file, reading it, loading it into an array. Then looping over the array, figuring out how to do string comparisons. Then the brilliant idea on swapping data between positions and writing the new list back out. Bloody brilliant and elegant.

It was the hardest week of my scholastic career. But we persevered and at long last, believing in our brillance.

We had invented the Bubble Sort.

Understand, we had no knowledge of algorithms. We did by trial-and-error and much brain sweat and learned what is commonly available in any basic computer science textbook. But we didn't know that then, Mr. Scott wasn't telling us and not that it would have helped because such texts were nowhere to be found in our school library. Trust me, I knew the science and computer section inside and out. Besides, we looked.

Evaluation day came and with great relief and pride, we demonstrated our incredible achievement. We glowed with pride as we described our slick technique of copying the array contents internally. He simply smiled and gave us a pass for our successful run. In the end, everyone passed and all breathed a sigh of relief.

We then spent a day analyzing our solutions. Turns out, all of us had come up with the same thing. I guess we weren't so brilliant after all. It was also the first time I learned the term "bubble sort" and we went through how it worked on the chalkboard as well as its history in computing.

Still, we were immensely proud of ourselves. From nothing we had managed to solve this difficult problem. We deserved some credit.

Then Mr. Scott turned to the class and gave us the look we would soon learn to fear. Then he uttered those deadly words, "Make it faster. See you in a week.".

Jaws hung open, mine included.

Make it faster? How?!? The rules still applied and any queries for specifics were vaguely rebuffed. We were stuck.

That next week made the first look like a cakewalk.

Evaluation day came again. We had to demonstrate the speed increase empirically. We did. We were stunningly proud of our achievement. We had passed two for two.

We had invented the Improved Bubble Sort.

Another day was spent analyzing changes we had made to the sort to reduce the number of comparisons and keep the "bubbling up" of elements (where the sort gets its name from) to a minimum. This time, a couple of teams failed. They hadn't grasped the nature of what they were dealing with.

Then he stood there again at the end of it and did it again, "Change the sort technique. See you in a week.".

I thought torture wasn't permitted in high school but I'd argue for some that they were in the middle of some form of new torture at the hands of this man. There was near pandemonium at that point.

It was at this time I learned why the course enrollment was limited and why it was only offered once per year. People starting dropping it like flies with the realization that if they continued, they would fail and blow their averages. They actually expected half the students who took it to drop the course. So it wasn't surprising that the work groups began to shrink and reshuffle. You had a month when I was in high school to drop a course without penalty. After that, you got an "F" on your report card even if you did drop it voluntarily later. The mad scramble was on since such a situation could ruin your mid-term grades and prevent you from getting into university. Enrollment was limited because only the hardcore, the intelligent and/or the simply masochistic would continue to volunteer for what was the high school equivalent of Chinese water torture and its attendant risks.

In the end, our third assignment was completed successfully.

We had invented the Shell Sort.

On it went. For nearly two months, it was one period of pain and discovery after another. Through much mental anguish and sheer will, I was learning the fundamentals of computer algorithms. By having to play computer, I was becoming a computer programmer. I heard the words "See you in a week." in my nightmares.

At the end of those two months, only twelve of us remained. Including a fellow student I would wind up taking computer programming with in college and commute with for several years. The others dropped the course or were failing out. To this day, it remains but a blur. Snapshots of memory and frantic activity. Only then at the end of that first section of the course did Mr. Scott's steady facade begin to crumble and he explained why he had done what he had done. He explained that a programming language was merely a tool. It wasn't the purpose of the course to teach us to be proficient with it. Instead, he was teaching us to think.

I have never, ever forgotten those words. Because that is exactly what he had done. Sure, the algorithms were simple but they weren't the point. He was teaching us to think about how to solve problems. How to approach them and implement solutions. Once we knew the solution, we could create a working solution using any tool available.

We were being taught how to think.

We all have teachers were remember with fondness or thank later for doing something that helped us learn. David Scott taught me how to learn. He taught me how to think about how solve problems. The programming aspects were secondary. I knew those cold.

But no book could have taught me what he taught me in that semester of Computer Science. It was profound. Even nearly twenty years later, I have told this story to fellow junior programmers and urged them to learn how to think. So many are focused on the language that they've never learned the skills of being a successful computer programmer. It has everything to do with how you approach problems. The language is merely a tool.

That is a lesson that Mr. Scott taught me and I have never forgotten.

My final project for the semester was writing an e-mail system. It even worked. But by then it was easy. I had survived the Crucible and carried its lessons with me into college.

Before that happened, we led our high school to win the regional programming contest and place in the top half at the provincial finals. We were the first school in the history of our city to ever do that. I was the team captain and Mr. Scott was our tutor for that.

The plaque for that achievement still hangs outside the math office at my old high school to this day I believe.

After that, college wasn't even challenging. The only things of value I learned was SQL, systems analysis and some mainframe programming. Only took fifteen years for that last bit of knowledge to be useful.

Everthing else on how I approach and solve problems I owe to one Mr. David Scott. I went back and visited him a few years after I graduated and thanked him in person for teaching me how to think. As great teachers often do, he thought nothing of it and felt we were being overly kind. He didn't feel he had done anything special.

I disagree.

If you're a student at Pauline Johnson CVS and Mr. Scott is still teaching math there, shake his hand for me. Tell him the team captain from the computer programming challenge in the early 1990s that was first to go to the provincial finals thanks him. Check the plaque, he'll be able to figure out who it is. Ask him about teaching the Bubble Sort and see if it brings back memories of QNX and Icon computers. Don't worry if you don't know what these are, they were before your time. But he'll know.

Then thank him for me. He deserves it for a job well done.

Nattering Away

Things are hectic under the Red Maple leaf as of late.

I feel bad for my six fans for the lack of posting and especially the lack of stuff that goes "Boom!" posting. On the subject of gun posts, the reason is pretty straightforward.

I haven't been shooting. Other than my recent trip to Quantico a couple of weeks ago to squeeze off a few rounds of crappy 8mm Mauser, I am just staying away from the range. The reason is simple and most shooters will understand it. It's simply too expensive for me to do so. With ammo prices continuing their upward trend, the thinking is "Why do I want to shoot off 100 rounds of .223 today when it will cost me another 10 to 20 percent premium later to replace it?".

I'm to the point where my ammo is more valuable in the cans than being sent downrange for my pleasure. I just don't have it in the quantities I would like to feel laissez faire about shooting off a few magazines and not feel guilty. Given I need to keep a minimum of 210 rounds available as untouchable, that doesn't leave a lot out of the remaining pile to waste.

Yes, I could shoot my Mosins but only half of my ammo is suitable for indoor and where I can shoot it outdoor, the current rules disallow Soviet calibers. So they stay locked away. The only guns I can really shoot are my .22s (at least I have an AR upper in that caliber) and my 8mm Mauser. That caliber is still plentiful and cheap as surplus and I have a ton of Romanian steel case.

At the rate I'm going, I won't be shocked if the majority of my shooting turns out to be black powder muzzleloader.

Plus with my wedding on the horizon, I've just been too distracted lately. Especially between that and work. They've been reorg'ing us at work and we're trying to figure out where we fit in. No layoffs (never in the history of the company and states it simply doesn't happen on the public website so I trust them on that) but just that "What do we do now?" kind of mentality. Just grinding.

Fortunately, I am no longer in Robb's shoes with regard to messed-up software development. I feel for him though as I have definitely been there.

So rather than shoot, I've been strumming my guitar and reliving my childhood and formative years, computer-wise. Spent the weekend trying to get three old computers up and running. Here's how we fared...

My Tandy 1500HD is functional but the hard disk apparently weakens with age. I got it with no OS but managed to get FreeDOS running on it prior to it going into storage two years ago. Pull it out and the OS is gone yet again. However, age has caught up to it and now the floppy drive won't boot anymore. Now I have no way to get an OS on this machine short of a floppy drive replacement. Going to try a second hard drive and get it bootable on an old PC and transplant it in.

That's harder than it sounds. Look up the pricing and availability of Conner CP2024 hard drives sometime. Same goes for the Matsushita EME-263G floppy drive the 1500HD uses. This machine may well wind up being a functional display piece. Still, they are pretty machines for their time. The old GRiD laptops, by the way, used the same case.

Had better luck with the Apple PowerBook 5300c. We will pause now to permit the screaming and clawing of eyes to relax. This is actually the 1500HD's stablemate. I got them both for $1 each off eBay. Don't ever offer a cash local pickup option. Yes, I got them both for $2 hence why I'm not terribly upset about functionality or lack thereof.

However, the 5300c is fully functional. I had gotten the special SCSI cable for it so I could hook a CD-ROM up to it. Turns out my old 50 pin SCSI CD-ROM that I use on early SGI workstations works fine on Apple hardware. And the machine boots fine from it as well as the floppy drive.

However, I'm not an Apple guru. My System 7.5.5 CD boots up on the machine fine but since it is marked for PowerBooks other than mine, it refuses to install the system software. Apple offers System 7.5.3 for download but I was unsuccessful in creating a good boot disk or usable CD-ROM image from my old iBook. So I am begging for help from my wife-to-be's office (they're a Mac shop) and their Apple guru. Hopefully I can ressurect this member of the top ten worst Apple computers of all time. Still, learned an awful lot about how Mac OS boots. Just don't have the techniques down to do it on my own.

Lastly, the Thinkpad 560Z. I got three as a trash rescue and cobbled two functional machines together. High-end, ultraportable hardware circa 1998. Pentium II 300Mhz, 128MB RAM, 6GB hard disk, color 800x600 LCD, USB and Ethernet (on the dock only). However, it was made in what I call the Great Software Desert that ruled the PC universe from the late 1970s until the late 1990s. This is the time when magnetic media dominated software distribution. This Thinkpad was created towards the end of the transition period to optical discs being the dominant software distribution medium.

Which means that although it supports CD-ROM and USB, it cannot boot from either source natively. Floppy drive is how software gets onto this machine.

Do you know how hard it is today to find a boot floppy for Linux (or any other OS) that can find and install from a USB CD-ROM that otherwise cannot be booted from? Harder than you might think. I want to run Ubuntu Linux on it and so far that particular combination is not supported with their floppy boot option. Damn Small Linux (DSL) does this but I can't find information on how they built their boot disks. That applies in general to finding a straightforward HOWTO on how to create your own Linux floppy boot disk. If I can find that, I can get my system to work. I just need USB and CD-ROM support.

That difficulty in finding straightforward, non-Linux geek documentation is a complaint I've often had against finding information on doing tasks with the OS. Writing English instructions that a someone who isn't a kernel developer or OS builder is apparently too much to ask. If someone can describe or show me the steps, I can write the documentation myself to save others the pain.

So the Thinkpads are still running DSL until I can find a way to get them to boot from a floppy that will let me use a USB CD-ROM. Interesting tidbit about these machines. To keep weight down, they use a slim external USB CD-ROM. I have several good batteries, the external battery charger, dock, several proprietary floppy drives and two of the slimline CD-ROM drives and three Thinkpads. All total, this lot might fetch $50-$100 on eBay. But the slimline CD-ROMs use a special IBM USB cable that also powers the drive. This cable is extremely rare. So rare, in fact, that you can find the slimline CD-ROMs cheaply because the cable is missing. Useless hardware without it. That cable alone as a replacement part from electronics houses that stock it runs anywhere from $80 to $150. For a six inch cable with a special IBM connector on one end.

The cable alone costs more than all the combined hardware it is meant to be used with. It took me six months to source one on eBay and I paid a hefty premium for it but nowhere as bad as it could have been. Sadly, not atypical. Hence why I'm keeping this hardware together since it is a relatively complete snapshot of the state of laptop technology in the late 90s. Perhaps in 2025 a museum might be interested in obtaining it. I may put OS/2 on one of them just to keep it historically accurate. I have a "blue spine" edition of OS/2 3.0 Warp on hand.

Vintage hardware can be fun. I'm going even older though. Try making a VIC-20 or Commodore 64 talk to a modern PC or just trying to get software that can run on them. That what I mean by the "Great Software Desert". Lots of programs for computers in this era used magnetic media like floppy disks. Media that weakens and goes bad over time. So even though numerous functional examples of this hardware exist and can be had cheaply, it is only going to get harder and harder to demonstrate them in action as time goes on due to the fact that even pristine example of their software will be less likely to be usable because of natural decay.

Ironically, paper and cartridges may be our best long-term preservation mechanisms. Hence my fondness for my 2nd computer, the Commodore VIC-20. A lot of its software was produced on ROM cartridges and those don't go bad. Even nearly 30 years later, I can plug those in and they still work. Same applies for ROM-based systems like the Tandy 100/102, 1100FD and similar machines. Their ROM-based designs allow them to preserve their software and state-of-the-art for future generations as functional time capsules. Same goes for books with programs in them. Even after floppies and cassettes fail and fade away, the option will always remain to let us type in a program and run it to see these old machines in action. As long as they can power up, they can still live on.

Modern technology has also helped us to breathe new life into these machines though. Hobbyists are producing hardware that bridge the gap between the old and the new. Things like Ultimate 1541 and the NADSBox. These devices use modern flash cards to allow old computers to use them as native filesystems or hardware. Thus, a modern PC can be used to transfer data back and forth and the old machines don't know the difference. I think it is really neat and might help keep these old machines alive.

Frankly, I think they make great teaching tools. I'd argue the best way to train future computer programmers is to engage them in the fundamentals of computing. Even a little exposure to the hardware in even obsolete hardware can engage them and make them understand what goes on under the hood. Back when I grew up, this was almost unavoidable.

Today, you can train programmers who have no concept that memory, CPU and disk are finite resources and there are best practices for how to manage them. Understanding how a microprocessor runs a program and how memory is allocated even in an ancient 8-bit processor can be invaluable experience. And lest you think such outmoded technology has any place in our world, I would point out the Sojourner rover that went to Mars in 1995 used an Intel 80C85 8-bit processor. State-of-the-art when I first began using computers. Why? Because it could survive the rigors of the trip against physical forces as well as cosmic radiation. You'll often find that such old hardware going into space for that reason. Modern CPUs have very serious issues in such environments.

Plus, an 8-bit machine is small and simple enough that a group of middle school or high school students, with proper teaching, can write a simple operating system for it. Imagine how inspirational that can be to future computer science majors or simply to spark their creativity and interest in science in general. You can't put a price on that. In fact, I still thank my computer science teacher in my last year of high school for teaching more about computer programming and approaching it that anything else I learned later either in college or in the two decades of professional work since. That's tomorrow's story.

Sorry for the rant. Sometimes I just enjoying nattering way. Then again, isn't that what blogs are for?

Wednesday, March 18, 2009

Requiscat in Pace, Brian

It seems that Discovery picked up a stowaway on its launch to the International Space Station on Sunday. A free-tailed bat with what was believed had a broken wing took up residence on the external tank of the Shuttle:


He was dubbed "Interim Problem Report 119V-0080" by the NASA Final Inspection Team and was given a waiver for launch. Sadly, it looks like he probably did not survive what had to be the ride of his life. Space.com dubbed him "Brian". At least Brian got to go out in a way I hope those he left behind can envy.

As a commenter pointed out at Space.com:
It never bodes well when Systems Engineering and Integration performs a debris analysis on you...
I expect the animal rights nuts to start screaming any time now. Too bad we can't strap them to them to the external tank and check their aerodynamic properties. Here's hoping Brian made it through Max-Q and earned his astronaut wings.

Requiscat in Pace, Brian

Monday, March 16, 2009

The Price of Performance

It seems Robb and I are on similar wavelengths this weekend.

Note to Self: When installing a new video card, ensure you plug both PCI-e tails into said card before trying to use it for its intended purpose. Otherwise, Linux tends to get extremely pissed off and not start the window system.

It turns out that Linux will function just fine in 2D, non-accelerated mode since it doesn't really use the GPU but the nVidia binary drivers get a wee bit wonky when the card is getting only half its required power needs. Two hours, endless frustration and a near constant stream of "WTF is going on here?!?". Shove the machine aside, resolve to pull the card in the morning and take it back for a different brand that might work. Go to pull the card look down and...

...just felt like the world's dumbest moron. Sheepishly, I plugged in the second power cable I had left off and not-so-amazingly, this technology actually works!

Bear in mind, we're talking about a circuit board assembly slightly smaller than a brick that requires more power (20A) to run that a large vacuum cleaner and has a heat sink on it that would get you a nice sum as scrap metal.

But does it ever make those zombies come to life! Getting hordes charging down the street in Left 4 Dead with every setting maxed out and the thing doesn't even hiccup. EVE Online is pushing 60-100fps with loaded scenes and everything likewise turned on.

As far as I am concerned, you can buy happiness. Anyone need an nVidia 7950GT OC?

Which leads me to my thoughts of the day. Do you realize we have a couple generations with us now who will never know anything but this level of computational horsepower and see it as uninspiring and just normal?

On my desk, I have two PCs and three LCD displays. Aggregate storage between the two machines internally, the external hard drive and the NAS is 2.6TB. The machines have 2GB and 4GB respectively. Each machine has a dual-core 64-bit processor running at 2.6Ghz. That's four CPUs. The graphics hardware in each is what I want to focus on.

At current market prices, my new nVidia 9800GTX+ is around $200. Not the fastest board out there but comfortably mid-to-high end. Very capable. Next to that, my smaller machine has an 8600GT. That was a $100 board bought on sale almost a year ago. Decent enough and runs all the software I want it to. The board the 9800GTX+ replaced, my 7950GT OC was on the low-side of the high-end a little over two years ago and cost more than the two boards mentioned above put together.

These graphics cards are inexpensive add-ons. What many people don't realize is just how powerful they are. The 8600GT is capable of a peak of 113.9 GFlops. That's 113 billion floating point operations per second. Basically adding, subtracting, multiplying or dividing a floating point number. For you normal folks, a floating point number is a number with decimal places like 23.452. These types of numbers lie at the heart of all computer graphics calculations. When you want to draw a zombie on the screen, all that zombie is made up of in a computer is thousand or millions of these numbers. When that zombie changes direction, all of those numbers that make him up are multiplied with another to represent his new position. Such calculations are made whenever the zombie moves on the screen.

It's heavy duty work. So heavy duty, in fact, that graphics cards are specifically designed to do that one task of managing those numbers very well. Those Intel and AMD processors in our computers, as powerful as they are, literally cannot handle the volume of calculations required to display one zombie, let alone a horde, and do it without stuttering or looking like a stop-action slide show on the screen. That task has been performed for many years by such dedicated graphics hardware.

And the 8600GT is a low-end card by today's standards. It is considered a "budget" card. For someone who wants a decent game experience but not fancy and doesn't have a lot to spend.

Contrast this to my newest 9800GTX+. This card can do a staggering 470.016 GFlops. Four times the performance of the 8600GT for only twice the price. I said it was on low-side of the high-end. Above that are boards like Robb's in the form of the GTX 260 which can put out 803.52 GFlops. At the very high end is the GTX 295 with 1788.48 GFlops or 1.788 Teraflops (TFlops). That level of peak performance costs you around $500.

Roll the clock back 20 odd years to 1985. Cray Research, the undisputed world leader in supercomputing, just introduced the Cray-2. This was the most powerful computer in the world. It was clocked at a whopping 500Mhz, had 2GB of memory (256M words of 64 bits each), had four CPUs, used immersion liquid cooling, drew 196Kw (that's kilowatts) of power and cost 25 million dollars.

It was designed as a scientific workhorse. Weather simulations, nuclear weapons study, geological analysis and physical calculations are no different than those used in computer graphics today. Thus, the level of performance is measured the same way in terms of GFlops or TFlops.

In 1985, the Cray-2 did 1.9 GFlops. You bought 76 Flops for $1. It was the best in the world and remained so for several years.

Today at my local Micro Center, I can buy 1,139,000 Flops for $1. On sale. In the budget bin.

The lowly 8600GT has 15,000 times the performance of the Cray-2 at peak performance at 1/250000th the cost.

The highest end video boards today would place any system that had one comfortably in the top half of the fastest supercomputers in the world in June 2005. Today, those boards are within 1/8th of the peak performance of the 500th most powerful computer in the world.

Could you imagine if you could take a modern PC back in time to 1985 and let Lawrence Livermore play with one of them? Back then, a Teraflop of computing power was a science fiction dream to a software engineer. A refurbished budget PC today for a couple hundred dollars including the video card has hundreds of times the power of the Cray-2 and in some cases, you can't give that hardware away.

People always used to ask when we'd have our own Cray supercomputers on our desks. Folks, we've had them for a very long time and never realized it. What do we use them for?

Playing games.

Same goes for storage and all the other aspects of computing. The one thing that was truly impressive about the Cray-2 other than its speed was its memory. Even by 1990s and early 21st century standards, 2GB of RAM was a lot of memory. In 1985 that was unimaginable. There were programmers that didn't think they could feed problems large enough to use all of that memory in the Cray. 2GB of RAM is pretty much standard today but even in 2000, that was a lot of memory. So the Cray-2 having it back then make it truly awe-inspiring.

What was 25 million dollars not including costs for facilities, power, staff and the millions of dollars of supplemental storage and networking needed to support such a machine can be bought today as consumer pluck-and-play from the parts section of any well-stocked computer store for a few hundred dollars and assembled on a kitchen table in an hour.

Children today don't know how good they have it.

So like Robb, I fully appreciate the advances we've made in computing power. I have more than I ever dreamed possible and can likely ever take advantage of. Kids today have no experience with the advances made in the past 30 years. People my age can remember going from computer kits with 1 or 2 kilobytes of memory in the late 1970s all the way up to today with every stop in-between. We may laugh at Robb's example of Doom but I do remember how cool it was that the computer could do it at all. Let alone Doom 2 with curved surfaces.

Same goes for scientific workstations like Suns and SGIs that cost as much as a house in their prime and today are rescued to save them from the trash by collectors wanting to keep these old machines alive for fun. I know, I have a stack of them in storage. An old SGI Indigo (a collectors item today) that cost $10000 in the early 90s is a wheezing old fart compared to my iPod Touch.

So Robb, I am blown away but for different reasons. But there are days I miss the old Crays. Hell, I still have a letter and a brochure from Cray Research inquiring about what it would take to work there while I was in college. Sadly, that is a collector's item today too.

Off to play Left 4 Dead.

Wednesday, March 11, 2009

Prediction for Germany

I wish to make a prediction of what will result from the shooting that happened today in Germany...

I predict that within a month, Germany will announce gun control laws not dissimilar to those that disarmed law-abiding British shooters and basically end private ownership of most firearms by German citizens.

Any takers?

Bear in mind that Germany has extremely strict gun control laws (needs-based, licensing, registration, safe storage, training, club membership, etc). Despite the fact the shooter appeared to have stolen the gun he used from his father, a licensed owner, that won't matter. A demand will be made to do something, "Who needs a gun?!?" the average European will cry and that will be the end of it because politicians will need to be seen "doing something".

So I reasonably expect such a proposal to emerge, be passed and within a year or two, the majority of private firearms in German hands to be confiscated in order to prevent a tragedy such as this in the future.

Just like Ecole Polytechnique.

Just like Dunblane.

Just like Port Arthur.

And now, just like Albertville-Realschule Winnenden.

The pattern is always the same. I expect this to be no different. Such is the progressive mindset.

At least Americans have the good sense to realize it is the man, not the weapon, that performs the evil deed. Alas, Europe marches to a different drum. They can have it.

My sympathies to those families.

Monday, March 9, 2009

Mixed Bag

This weekend was a mixed bag. Had to do a 4am (really 3am with the time change) release of some software updates. I haven't stayed up all night since college. Man, these 30 odd year old bones can't handle that anymore. Fortunately, my speaker phone has mute, I simply needed to watch the screen and there were plenty of ships to kill in Eve Online.

Saturday I took a friend to Quantico. He wanted to do some long range shooting and sight in his scoped K31. Happy to oblige. I brought my K31 and my unfired Yugo M48 Mauser. We shot at around 200 yards off sandbags. I didn't hit a thing with the K31. 8mm Mauser was better. I was just plinking and besides, I was shooting cheap, surplus Romanian steel-cased ammo. Pulling out a handful at a time from the can, loading and firing. The virgin rifle performed rather nicely.

I will make one observation. Range 1 at Quantico has a wall along the left side and stretches for around 150 yards. This wall has the interesting effect of reflecting sound. Specifically, the sound of the bullets going downrange. So you hear the "BOOM!" of the rifle going off in the enclosed shoot house followed by the "Ziiiiiiipppp!" echoing across the range from your bullet. Very nifty sound. Not something you generally hear unless your on or near the receiving end of said bullet.

I was firing in the general direction of the target just to hear that sound. I wish there was a way to turn that into a high school physics lesson in wave propagation. Hey, I have plenty of 8mm Mauser for the demonstrations!

Then I let the inner geek run free. I came to the conclusion that I am rapidly filling up my backup storage. It seems a 500GB USB 2.0 hard drive isn't all that big once your ripped and encoded a couple hundred DVDs. And lest I receive exhortations of "Piracy!", I actually do own all of the DVDs in question. But it fills up half a terabyte in a big hurry.

Something had to be done.

Unfortunately, some prankster decided that temptation was meant to be resisted and ultimately caved in to. A couple years ago they built a Micro Center 10 minutes down the road from the house to achieve that goal. Not good. I had one in Fairfax when I lived in Virginia but that required planning to drive the 30-40 minutes to reach. Not this. This is jump-in-the-car-and-succumb whenever I want type of thing.

And succumb I did.

One thing I like about technology is it advances. As I've gotten older and lazy, I no longer want to tinker with things like setting up my own RAID arrays just for the fun of it. I've become a typical consumer of computer technology: I want to plug it in and have it just work. So I went with a mission. I wanted a Network Accessible Storage (NAS) array that I could plug in and have all the boxes in the house, Mac, Linux and Windows alike, all access. It had to have a RAID mirror configuration option.

I picked up an 1TB Iomega StorCenter ix2. Why? It was on sale and advertised Linux support on the box. I have to say, I am impressed. One, this thing is tiny! Smaller than my Western Digital 500GB USB external and it has two drives in it, not just one. Two, it really is simple to set up. Plug it in, hook it up to the switch and run the install software on any machine. Even had a Linux version on the CD. Five minutes later, you're on the web configuring the device, setting up security and the various operating systems are seeing it just fine through their various "Network Places" options.

Strangely, Vista was the hardest to configure. Linux, as usual, said "Ok, here it is!". It's sad when a free OS, who had to match Microsoft's network protocols bug-for-bug to get them to work right, has an easier time playing with Windows network devices than Windows does!

After was all said and done, "Voila!", another 500GB of network storage accessible from any machine in the house! And with the bonus I can plug additional external drives and a USB printer into this thing and let it manage them too! All over Gigabit Ethernet. And since I was still on 10/100 Ethernet, I just had to upgrade the switch too. No complaints, I prefer Netgear hardware anyway.

And finally, Barbie turned 50. A big deal with my sisters growing up. But it elicited a comment from me to the wife-to-be that I am really waiting for her 65th birthday. Then we'll have AARP Barbie! She'll come with a social security check, AARP newsletter, a walker (wheelchair or scooter would be an add-on accessory), blue hair dye, a pen for drawing on varicose veins, a shapeless floral dress and a lock on her purse so she can keep her jewelry safe from her thieving friends.

Ken, who'll come with a denture cup and golf pants that ride up to his chest, will run off with Hawaiian Fun Skipper in Barbie's Corvette (co-opted for his earlier midlife crisis). Bitter divorce to follow.

Expect Nursing Home Barbie on her 70th birthday followed sometime thereafter and not sure when, by Alzheimer's Barbie. Except by then she won't be able to remember her anniversaries and Mattel can start over and no one will be the wiser.

I have a twisted sense of humor.

Tuesday, March 3, 2009

Updates to the Blog Roll

I am just swamped lately. Decided to update the blog roll. I have added the following fine and excellent bloggers. Please pay them a visit!

The Rights Project
Newbie Shooter
The Conservative UAW Guy
Afternoons with the Mad Rocket Scientist
Squeaky Wheel Seeks Grease
Bad Dogs and Such
Mostly Cajun