Saturday, April 04, 2009

One of the 'funnest' days of my life today!

First off, this is NOT a rant! At least not a negative rant - rather a very positive one. And yes, it's something of a brag post about my kid - I'll admit this right up front!. So if you don't want to hear a dad brag on about his son, please use your browser's 'back' button and go elsewhere.

Due to divorce circumstances that both don't matter here, and I don't want to go into anyway, my son Jdawg (nickname of course) lives 1977 air miles from me (one way) in a tiny little town in Michigan. I just flew out for this weekend to spend his birthday with him (his actual birthday is more than a week away, but this is when it worked out to come).

Jdawg is SMART. Really smart. More than the average bear kind of smart. He is self-taught in web design, and now does advanced sites for friends for pay, and generates income from Google Ads and other means. Smart. Last year he learned Morse Code in a DAY (I taught him, as a long-time ham radio geek myself). NO ONE learns the Code in a DAY!!! It took me 3 weeks when I was his age, and most adults - IF they ever learn it all, take at least 3 months. He had the whole thing down in a day, polished in a weekend. He's a Linux geek and taught ME how to install, tweak, and run Linux on a number of my computers. He was the only one who could get dual-Linux-monitors running on one particularly bitchy computer I have - paid him $50 to do it, as I had tried 10 times and couldn't get it to work. Yes, this kid is smart.

Since last winter, Jdawg had talked of wanting to do 'hardware hacking'. Not sure what he really meant, given the new age of computer-speak and its interpretation to a younger audience. But to me, Hardware Hacking meant the hand-wiring of circuits that harken back to the origins of computer technology and 'small scale' chips of the 70s and early 80s. I explained some of this to him - talking of TTL (Transistor-transistor-Logic) chips and Boolean Logic gates (AND gates, NOR gates, OR gates, Exclusive NOR gates, and so on). He seemed really intrigued with all this, and asked a zillion questions that defied explanation without actual chips in hand. So at that moment, I decided to set him up with a 'mini logic lab' with a large assortment of chips, a suitable TTL power supply, LED displays, ceramic & electrolytic capacitors, and resistors to build the basic building blocks of all modern computers.




I spent a number of hours online from December 2008 to April 2009 ordering in all the basic parts he would need to learn 'old school hardware hacking', along with books with schematics to work from, jumper wire, prototyping boards, basic hand tools, etc. - all the stuff he'd need to get hands-on with the logic crap that makes even today's computers work - yeah, it's MUCH smaller now, but the principles are the same and the old-school chips are much easier to work with and get the concepts involved.

So using some old schematics from the early 1980s 'Engineer's Notebook' and the classic 'TTL Cookbook', we started in earnest about 9:00 AM today - Jdawg had NEVER seen 'chips' before, even though his 3 computers all have zillions of them. He'd never seen a capacitor, resistor, bench power supply, or wire stripper before - EVER! Although I thought the learning curve steep, I assured him that was true, but the curve wasn't HIGH. So we covered a LOT of basic rules and definitions. He gobbled this up and took good notes. I was constantly watching and listening for any clues to 'this won't work' - but as I fully suspected, Jdawg would be a knowledge sponge and just soak it all up - he asked a million questions (I love that!), and kept taking notes. But above all, he wanted to TRY THINGS. So from here on out (other than a few critical wiring details of the all-important oscillator clock to run all of our experiments, which I did myself), Jdawg did EVERYTHING himself - stripping wires (below), inserting parts, reading the schematic. I was ONLY the coach.


After about 5 hours, we got the first decade counter working - this after many wiring corrections, jumper changes, and re-reading the schematic. If you've never built digital circuits with TTL chips on a Proto Board, you have no clue how much of a mind twist this is! I'm an adult and I sometimes have a hard time making things work the first time doing this sort of work. But Jdawg is so persistent, with the 'I can do it / fix it' mindset that he just kept going and going, as the dozens of jumpers and connections were made. He had to redo numerous connections, studying the schematic and counting pins, noticing buss bars, and all sorts of other details.

But the exact moment the counter 'woke up' and started COUNTING IN DECIMAL DIGITS, it was DOUBLE HIGH FIVE time!!! I have never seen a kid more proud of his accomplishments, and I'm so glad I got to be the one to see his happiness when the digits 0-9 started counting themselves off on the LED display!!! I'll never forget this moment! We laughed and admired the working counter circuit and high-fived again and again - Jdawg just beamed from ear to ear, and I beamed at him, watching him enjoy this success - how bloody complicated it is to get to this basic point in TTL Logic design. I was SO PROUD of him!!!

We then took a break for another first - he nor I had never had a Big Boy Burger so we ran down to Alexis Blvd. to Big Boy and had a great burger lunch together, while talking about our 5-hour ordeal to success with the first of 2 decade counters.

After lunch, we build a division circuit - divide the clock count by 7 - which amazed Jdawg at the fact we were really witnessing a very basic computer circuit - hard wire programming of chips to achieve a task - divide the oscillator clock pulses by 7 and display the result on the counter circuit he had spent 5 hours building!! I wish I had photos of this stage (and the Big Boy Burger stage as well - only have 'mental photos' of these events!).

After the division experiment, Jdawg built a SECOND decade counter (even quicker and better than the first - practice makes perfect!). To make a long story short, we then built a switch bank for turning functions on and off, and built a simple oscillator (3909 chip - I built this one for the sake of time - I was getting TIRED!) to make a 'beep' for every clock pulse.

The last photo (below) is of the final circuit - 8 TTL chips, 0-99 dual-decade counter, beep speaker oscillator for audibility of master clock oscillator clock output, and TTL 'freeze count' function controlled by toggle switch to 'freeze' the count display (while the count continued in the chips themselves). In short - ONE DAMN COMPLEX CIRCUIT to build in 12 hours with a kid who had never seen a chip in his life!!! Complex for his DAD, who has seen more than his share! Note that the master clock oscillator is on the proto board on the right (555 driving 7400 one-shot to clean up the pulse), 4-switch binary switch bank with Jdawg's wrist behind, and dual-decade counter board on left (some 70 jumpers or so in proto-board - WIRED BY JDAWG to make it all work, along with 6 TTL chips, 2 LED displays, and 14 270-Ohm limiting resistors for LED - all wired and installed by Jdawg!)



Click on this photo for a good shot of the detail involved in putting all of this together. Bottom line - not many folks could do this - I mean adults! Kids? I don't know a single one who could have done this much in 12 hours, nor who could have persisted for 12 hours for such an endeavor. I never let on to Jdawg how bloody tired I was getting - he just kept going and going and going, ripping out wrong jumpers to do it again, checking and rechecking for errors, over and over - all in an effort to make it right. All while keeping all his parts arranged and organized 'to keep it neat'.

In the end, at 9:30 PM (12 1/2 hours after we started), we had a 0-99 counter, with display freeze function, beeping speaker master oscillator clock monitor, power-off toggle switch, and count-beep mute toggle switch - ALL (except as listed above - some details of master clock oscillator, and beep circuit - both minor to save time) wired by Jdawg. I only took charge of the master oscillator clock circuit for extreme reliability (the heart beat of all such experiments) and the 'beep' circuit just to save time - it was getting late! - this circuit wasn't by the book and I
had to 'invent' it based on an LM3909 chip forced into service - but a very minor addition given the MANY wires and circuits that had to work first - all wired by a 14-year old kid on his first day with chips!

Happy 15th birthday in a couple weeks.... it was a truly enjoyable day!

Note: You Tube video to be linked of final operation once I get home and have a decent internet connection.

Wednesday, February 18, 2009

"...redefining dissent" - ya gotta be kidding me!

So today I was having lunch at a little diner in the 6th avenue neighborhood of Tacoma (WA), and happened to pick up one of Tacoma's longtime hippie rags called The Volcano and about lost my appetite when I read the cover story - "The Future of Dissent - Thoughts on Obama.... and Redefining Dissent" by some whack job called Mark Thomas. Without laboring this ridiculous Obama-worship piece, just one quote from the story sends the message quite clearly: "Will the rise of Obama mean the death of dissent?".

So first things first - let's define Dissent: "to differ in sentiment or opinion, especially from the majority" - source: Dictionary.com. So tell me, Mr. Thomas, how exactly you and the Messiah Obama plan to make everyone agree 100% with your opinions so that this dissent you hate so much is finally 'redefined' (funny how you loved dissent before November 4, 2008)? As I recall, Obama won with something like a 53% vote. That means that 47% "differed in sentiment or opinion" from you and and the democratic party (I hear some democrats actually voted for McCain - but I'm sure they'll be dealt with shortly). I'm sorry - what am I missing? Isn't that 47% folks who differed in opinion? Isn't that in fact the dissent vote, Mr. Thomas?

Oh wait - I get it! Dissent only matters to folks on the left when right-leaning opinion and leadership is in the majority at the moment. THEN Dissent is a good thing. It's patriotic. It's the right thing to do. It's essential to freedom. But now that BHO is "da man" (another quote from Mr. Thomas's rag), and left-leaning opinion is all the rage, dissent needs to be redefined (read: opposing viewpoints must be silenced). Why? Why was dissent so lovely just a few short months ago, but today is no longer such a good thing anymore?

And as we speak, the House of Disciples is negotiating the best way to silence right-leaning talk radio (since left-leaning radio was an utter failure - if you can't compete, simply legislate your competition out of business). Again, that silly dissent thing comes to mind - isn't the purpose of [pick your slant] talk radio to do just that - express dissent? (And if you've forgotten what that word means on your way to reading this paragraph, please scroll back up and re-read the definition).

Let's play a little pretend game and turn this all around - imagine a world where all the AM radio talk shows were predominantly left-leaning, and imagine further that the Oval Office and both houses of congress were stocked fully with right-leaning folk. Got the picture in your mind? Shouldn't be hard (well, the government part - the radio part you'll just have to imagine on your own). So now picture that particular congress discussing the elimination of that leftest prattle that is all over the airwaves. Shhh... don't tell me.... you'd be SCREAMING that dissent is essential to freedom (which in fact it is!), that the evil right wingers were out to silence the minority opinion.

So why are you not complaining now? Mr. Thomas, oddly, never mentions the current effort to silence the sort of dissent he personally does not approve of. What's next - rewriting the First Amendment to protect only speech that comes from liberal democrats? Sorry Mr. Thomas - you cannot redefine the opinions in my mind or the minds of the 50+ some-odd million folks who did not participate in the anointing of your beloved Barry O.

Hypocrisy on the left these days is utterly staggering. Trust me Mr. Thomas - dissent is very much alive and well, and God help us the day your party silences opinions that disagree with your views - (as if only your views were valid). Disregarding the audacity that YOU think YOU should get to redefine a word that is a cornerstone of this nation, dissent sir needs no new definition. Trust me - you should get used to it in the coming years - even from your own party (OMG!).

As I paid my bill, I had to laugh at the bumper sticker on the cooler behind the counter "Dissent is Freedom" - guess we won't be needing that anymore. What a sad, sick, hypocritical joke politics have become in this country. May The Obama bless us all.

Cover of the Volcano:

Tuesday, January 20, 2009

Migration from Microsoft to Linux - O, the Joy

So I finally made the plunge. I've long wanted to be part of that geeky elite who broke from the crowd, stepped aside from their fellow computer lemmings and took a different plunge - not off the cliff, but into an alien and poorly understood (by the masses) computer operating system - Unix.

In 1994 I attended a geek fest of sorts in Seattle - essentially a large flea market filled with jumbles of computer parts, new and used, and more sweaty fat techno-geeks than I could count (yes, I'm sorry but the stereotype does have a basis in fact). I fit the model, sans the sweaty fat part. I had never purchased a PC (not since the Commodore days) - I built them. Motherboard, RAM, case with power supply, choice of processor, etc. I was at this particular computer fest to acquire all of the above for a 'new' computer - the best (at the time for me) I had ever built.

And I thought how cosmically geek-chic it would be to set it up with zero Microsoft software of any kind on it! So to my great pleasure (at least at that moment) I found a new, still-sealed copy of the now-legendary (and defunct) SCO (Santa Cruz Operation) Unix for a mere $39! What a steal, I thought - cheaper than a new copy of Windows 3.11 (but who actually bought Windows back then - Copy Disc was your friend!).

I got the box running, tested it with DOS 6.22, then Windows 3.11 - all was well. Wiped the hard drive, and off to the races with Unix. Yeah, right. And here I thought I was a pretty good geek. Nope. Not even close. That was the most evil experience I have probably ever had with a computer, trying to get that insanely complex (and dare I say ugly) operating system of Computer Giants. Two days later I had the fastest, coolest, bitchinist (yes, it's a word) Windows 3.11 computer I had ever owned. The SCO Unix went for $5 at my next garage sale (sort of like Jumanji - let someone else fight those monsters!).

Fast forward to December 4, 2008. My 14 year-old geek son called me and said "Dad - you've got to try Wubi (Windows Ubuntu (Linux) Installer) - I just wiped Vista off my laptop and I've gone totally Linux - you've got to try it!" Ok - never mind I just bought him that laptop for a grand, and six months later Vista is just a faded memory of fragmented binary strings scattered about his hard drive. Wow. Most dads would probably have tweaked at the thought - "YOU DID WHAT???" Not me. Jeremy is a geek like me. Except better. And he has that fearless kid thing I once had but long ago lost.

So I tried this Wubi thing myself. It's a simple Windows 98, XP or Vista download that sets up Ubuntu (a Debian based Linux distribution which now owns 30% of the Linux market) simply as a Windows program. But once you reboot, voila! - you get a 'dual boot' option to choose your old Redmond, WA system or the pretty Ubuntu (South African based) Linux distro.

With that simple download I found myself carried back to 1994 - maybe now I could finally achieve that '100% Microsoft or Apple products freedom' I so longed to achieve. I cautiously installed Ubuntu on a backup laptop first - success! And I actually liked the interface and how it works - at first, anyway. Then I raised the bar and Wubied my dual-monitor 'man room' core-duo XP box (my man room is where I can surf in peace, sitting by a gas fireplace, smoking a stogie without fear of interruption). This is where I started to hit the 'Linux Learning Curve' - too fast, poor brakes, rain-slick road - right through the guard rail! Turns out that while Dual Monitors is a few mouse clicks in XP or Vista, it simply ain't so in Linux. 9 re-installations and much hair-pulling later, I finally gave up on getting dual monitors to work. And with that, I just went back to the Satanic Evil I already knew - XP. Oh well. At least my dual screens worked.

But Jeremy came out for Christmas (he lives out of state and I'm Jewish, but that's a blog for another day). I told him if he could get my dual monitors going, I'd pay him $50. My wife and I took off for lunch and shopping, and came back 2 hours later. Needless to say, he had it all up and running in about 15 minutes ($ sudo apt-get install genius-kid-Jeremy -14), and had loaded themes (I love the Mac clones - makes my Mac friends crazy!), a ton of software and tweaks and updates and more tweaks. Ok - XP on the back burner, Linux under the heat lamps waiting to be served. Cautiously (God, what if I f*** up the dual monitor setup, I thought) I started tweaking my own tweaks and tip-toeing into the sudo apt-get world of Terminal. Oh, and yes, I happily paid him the fifty bucks, while he grinned from ear to ear.

Next came my 'main' computer - quad core monster in my main office, with 4 gigs of RAM and all the goodies, tied to dual 24" HP monitors. Gulp. "JEREMY - HELP ME!!!!!". Again, 15 minutes
later, both monitors were up and running, Mac themes installed, Compiz desktop effects (O, how I love those wiggly windows!), more tons of software and tweaks, and that utterly amazing rotating desk-cube that rotates all 24 possible desktops against a stunning outer space panorama photo (that I am proud to say I found and installed). This was starting to look like it could really be my 'Corporate Free' box I have longed to have for 14 years.

But then the realities of Linux started settling in - after all the fun of the 'new look' and really nifty visual effects (mostly from Compiz) had sunk in, the task of truly migrating is now the nagging concern. Those of us over 45 surely remember the 'heartbreak of psoriasis' commercials from the 1970s - well, I now have the 'heartbreak of OS migration', but without the annoying itching and dandruff that those commercials warned us of (what ever happened to seborrhea, anyway? Only your doctor will know for sure). I really want this migration to work, and to do my daily work chores (I work from home) on a Ubuntu Linux box. But it seems I daily have some heartbreak of 'oh well - guess I won't be able to do that'.

Why don't the Linux distro folks come to the collective realization that until MIGRATION is easy, Linux will always be relegated to uber-geeks or low-power users who only need a browser? Just the seemingly simple act of importing all my gazillion Outlook emails and contacts from the last 6 years was daunting to say the least. Yes, today (after many tries) I finally got it to work - (install Thunderbird under XP or Vista, import from Outlook, locate the Profiles folder (buried in Windows), copy it externally, reboot into Linux, locate the Thunderbird Profiles folder (buried in Linux), save a backup of the default folder, then finally paste the external copy into the Linux location and hope it all worked).

Email and contacts from Outlook and Outlook Express live in the SAME PLACE on all installations. Thunderbird under Linux stores email and contacts in the SAME PLACE on all installations. Why in the hell is there not a 'migrate from windows' function in Thunderbird (or Evolution, the newer and, in my newbie opinion, buggier email client) to do this automatically? I mean really - it's just 'take this folder and copy it over here' for heaven's sake! I'm talking specifically about a dual-boot machine, where ALL the Windows files are all right there on the main hard drive. It just shouldn't be this hard.

Same with dual monitors - it' almost as if the Ubuntu Linux folks never conceived that someone would want to use dual monitors! I have 2 major computers that are double-headed, and regularly use my laptops in that mode doing sales presentations. Yes, there are great third-party applications (RandR and an edit of the video driver is what worked for my two installations, but only thanks to the patient geeking of my 14 year-old kid Jeremy) for setting up dual monitors. But I cannot imagine why Ubuntu (and I'm sure other distros) didn't just program a widget to do this 'out of the box'. At this point all you Linux gurus may now groan. But face it - you not only do not care a whit about migration, you abhor the masses taking over your private geekly domain. Be honest. May the hosannas of 'go back to XP' now begin. Been there - read that. Yawn. I'm committed to making this work - not from an Uber Geek stance, but rather a normal businessman who simply wants to be free of Microsoft or Apple products for my own reasons.

If the reason for this Migration Checkpoint Charlie attitude is some elitist 'geek know-how' proficiency test, then the Linux distros clearly have no real interest in overtaking Microsoft or Apple and their financial stranglehold on the OEM computer market. If it takes me Herculean effort to migrate (thank you, Jeremy!) I shudder to think what Jeremy's grandmother must think of this whole 'change the OS' thing (her computer recently crapped out on Windows and Jeremy installed an older Ubuntu Linux (couldn't find the XP restore CD) on it so she at least now has her email and web back). If OS Migration were ever to become a priority for some Linux distribution, Microsoft would really have a long hard struggle ahead.

But aside from all of this, I'm plugging ever nearer my goal. OpenOffice.org is in fact a really decent replacement for Office (lacking tons of Office features, granted - but entirely usable). Gimp does a decent job of editing photos. Sadly, no meaningful Publisher equivalent yet exists (please - don't tell me to use Scribus - if you do, you clearly never used Publisher 2003 or 2007). Thunderbird seems to work great for email, and numerous other little apps fill in a lot of holes in my system.

However, until the day that migration from MS or Mac becomes a priority, and significant numbers of new Linux users cross over, the only hopes for quality software will lie with just a scant few Open Source providers (such as OpenOffice.org) and others who do it for love (and the small return from paid technical support). One day, an as-yet-unborn software company will see the coming tide change from MS to Linux and create commercial grade applications (yes, we will actually have to buy them at Amazon and Best Buy) in the spirit of capitalism, and we will finally see the tide turn yet again in the OS wars. Where is it written that all software for Linux must be free? It's not about that - it's about breaking the monopoly of MS and Mac and giving people another choice. And if it takes paying a quality programmer to achieve that goal through good software (and good migration programming on the OS side), then I'm all for it. Just because someone gets paid for quality software does not make them a wonk to the corporate world or software giants. It simply means they are incentified to produce a better product than most of the free software out there (OpenOffice the exception), and I would gladly 'add to cart' when that day finally comes.

Until then, I'll keep working at it. And in the meantime, after 14 years, I can finally append my emails with the signature 'Sent from a computer 100% free of Microsoft or Apple Corporation products' and feel smug in a small, small way. But sadly, it's like peeing your pants in a dark suit - you feel warm all over for a while, but in the end, no one really notices, or cares. It's just an operating system.