Who Is Arah J. Leonard?

So I’ve reviewed and ranted, entertained and bored, but in all this time how well have you really gotten to know me? For that matter how well do I really know myself? So please let myself introduce … myself.

Name: Arah J. Leonard

Sex: Often, please

Gender: Male

Age: None of your business … oh, fine. Born in ‘76. Are you happy now?

Occupation: I’m sorry. I’m a little preoccupied…

An image of ME, Arah J. Leonard!

Okay, so I was born a mutt of mixed heritage in northern Illinois to a loving mother and father. I also have a younger sister. When I was seven, my father died. On Father’s Day. While driving the pickup truck that was going to be a present to his father up to see us all. (Because he’s been delayed by work so couldn’t come up with my mom and us kids.)

I believe, that year for Christmas, with funds from my father’s life insurance, was when my mother bought us our Commodore 64. It was the best investment in my life that she ever made.

Over the years as I grew up I played in Commodore and Apple labs at school and on my Commodore 64 at home. I learned to program in BASIC. I programmed a few of my own games and things, usually simple affairs. More fun however was to hack into games like Telengard. My favorite Telengard hack was to add an escape clause. If you accidentally wandered into an area where monsters were much more powerful than you, it was instant death. Normally if you ran into a monster and tried to run away it would say, “The monster is not amused.” You’d lose your turn and the monster would attack. But with my escape clause I’d change it to say, “The monster IS amused.” And then I’d have the monster give you a random bit treasure and then leave. So if a monster was too powerful for you, instead of instant death you’d get to live and come out with some treasure to boot. :)

I also learned over the years to play with consumer electronics such as computers. I could disconnect and reconnect all of the wires like it was nothing. I’d help out in the computer labs after school, using my keen sense of hearing to locate monitors still left on and turn them off. (To this day I can still hear when CRTs are left on. And sometimes LCDs too.)

Later in grade to high school I expanded into helping friends work on their computers, upgrading RAM, hard drives, CD ROMs, graphics, etc. And I learned other variations of BASIC on PCs, on Macs, and so forth. I even learned HyperCard. And I learned on a Macintosh to program in a very stack-centric language for the game RoboWar, where you pit your robots against those of your friends in a completely unmanaged environment where your robots all fend for themselves and only robots with the best programming (and choices in robot hardware) win.

Then I graduated high school. I went straight into the US Air Force as a Communications and Computer Systems Programming Journeyman. (Or something like that.) I actually wanted to be an airplane mechanic and short of that an electronic engineer. Unfortunately over the years I have tested as every type of color blind imaginable, brown-blue, red-green, to every degree. I’m not color blind. It’s those stupid bubble tests. In them I almost always see every possible answer. Optometrists don’t believe me when I tell them that though. So it becomes a guessing game. One where I always lose. I can’t help it if I not only see all colors but also through optical illusions. Anyway, so because of that the USAF wouldn’t let me near anything where seeing the wrong color could cost people’s lives. So I became a computer programmer.

I did my Air Force Basic Military Training in Texas during the summer, playing with fireants and constantly marching through black flag days. (Though it wasn’t technically marching because we didn’t technically have to keep to the rythm. Theoretically. In practice it was a nice way for TIs to cover their behinds while still marching everyone around endlessly.)

In technical school in Mississippi I was taught BASIC (as if I needed teaching in that), Ada, COBOL, 16-bit x86 Assembly, and SQL. I also had the joy of having my appendx nearly explode as I collapsed to the floor and shook violently during the middle of class. And then a day later in the hospital along came a hurricane. Which I guess being in the hospital saved me from having to do cleanup afterwards. (As well as standing in the rain waiting for someone to actually unlock the emergency shelter, as I later heard.) But it threw me out of schedule with my class. So a week after being taped up (not stapled, sewn, or any such. Just taped. Because they were afraid of gangrene and actually cutting along the dotted line a second time was just too much effort for them) I was delivering packages all around the base, on foot, while I waited for the next class behind me to catch up to where I left off. Fun times, I tell ya.

In my first (and only) duty assignment, where I’d asked to be stationed in places like Alaska, Washington state, even Germany and Turkey, I was instead sent to Alabama. More south. Yippee? I used 16 and 32-bit Assembly, FORTRAN, C, C++, Visual FORTRAN, Visual C++/MFC, and Visual BASIC. Or in other words, I regularly used just about every language that technical school didn’t teach me. The project was AFTERPS (Air Force TERminal instrument ProcedureS). It involved calculating take off and landing procedures (as well as emergency and what to do it you missed) for every category of aircraft for a given runway. It was software used throughout the world. It took into account natural obstacles from NIMA satellite imagery through a program called DAFIF (Digital Aeronautical Flight Information File). And it took into account man-made obstacles through DVOF/DTED (Digital Vertical Obstruction Files and Digital Terrain Elevation Data). All so that airplanes wouldn’t crash. At the time however the air traffic controllers weren’t allowed to actually use these programs to determine take off and landing procedures because the military didn’t trust computers. They made errors. (Especially the first FORTRAN compiler we used, from Microsoft, that had a nasty division by zero bug in it.) So they still had to do all of the work by hand. These programs were just used to verify their results. It’s been a long time since I worked on that software, but I sincerely hope for their sakes that the military has changed it’s tune on that.

As I was there, AFTERPS evolved from a FORTRAN / 16-bit x86 Assembler DOS-only to a 32-bit console app of the same languages. (I upgraded most of the 16-bit assembly to 32-bit myself.) We did a lot of fixing the if-goto reverse logic of FORTRAN 76 (with overused continue statements) and mismatched common blocks in the FORTRAN code to proper clean if-then-else logic and such. It was a massive upgrade to the code to make it suitable for maintaining in a 32-bit environment. I also was part of the DVOF/DTED upgrade from global variable C to the object-oriented C++ for similar reasons as well as just plain sanity.
Then we did an upgrade all over again with DIGITAL Visual FORTRAN and Microsoft Visual C++/MFC. We enlisted the aid of a Microsoft pro, who promised us that it was possible. At the time, it wasn’t. At least not in a logical way. But eventually we sorted out ways to work around the incompatibilities of the two opposing ‘visual’ sides.

And besides programming for the USAF AFTERPS team I also occasionally had duties like installing memory and hard drive ugprades, installing Windows 95 and then again to Windows 95 B (OSR2), and even helping change networking protocols when the base switched.

And during this time as technology advanced my love of computers grew. At home I built my first computer, a Pentium I 133MHz machine with 128MB of EDO RAM. It’s been a very long time, but I remember also that the chipset was supposed to be very advanced (for the time) and had an external extra bit of cache memory. It ran DOS 6.22 with Windows 3.11. I even had a Soundblaster AWE32 for sound and awe-inspirint MIDI. I later upgraded the graphics to a Diamond Viper V330 and a nice big (back then) 17 inch monitor. I remember because the card itself had benchmarks that trounced the more popular Voodoo cards. But I was pissed because games like Quake weren’t supporting the Diamond Viper cards. They only supported Voodoo for OpenGL. It was a tough lesson that the best isn’t always the best.

My love of video games also helped me jump into saved file hacking with hexadecimal editors. I loved a good hexed. I even wrote my own in Visual BASIC once, called Hex Magic. Games like Ultima Underworld and Descent had wonderful save files that were so much fun to play with. And of course I taught myself HTML so that I could have my own webpage. It was on Geocities, back when Geocities was actually good. When I could FTP my changes up. When advertisement wasn’t even required and people were proud to add a Geocities logo all on their own. Then it all became crap, and though by the end I had a mirror going on two other free hosts, it just wasn’t worth maintaining anymore. So I stopped updating and let the accounts close from inactivity.

The Air Force had been fun, and given me plenty of opportunities to excel, but it just wasn’t for me. I was sick of my first shirt who seemed to have a hard on for trying to ruin my life. And because of my short five foot seven stature and heavy disposition I was always struggling with my weight. Not that I was fat. I went into the Air Force straight out of a high school season of track where I was a 100 and 200 meter sprinter extraordinaire, fit as a fiddle and in the best shape of my life, with no bodyfat whatsoever, and still had to starve myself for a week just to make the weigh-in. It’s all because if you weigh more than the Air Force thinks you should, they then go by a bodyfat index measured simply by taking your age, measuring your neck, and then measuring your stomach. (Note not by measuring your actual bodyfat anywhere.) Plenty of old people ran around fat as can be. Plenty of fat people with bulbous rippling fat necks ran around with stomachs the size of Texas. While actually fit young people that didn’t have fat in their necks were harassed constantly for being “overweight”. It got tiresome. Having a fist shirt that hated me for no good reason was bad enough, but occasionally giving him (albeit very questionable) ammo was a nightmare that I got sick of fast.

So after an honorable discharge with four years and two months (thanks to a stop-loss issued during the second Gulf War) I moved on. And perhaps out of spite (or relief) found a true love of food and allowed my belly to actually grow. Along with my hair.

I moved to Wisconsin, to be near my father’s side of the family. (My mother’s side being in Illinois.) I settled down in Baraboo, nearish to Madison where I commuted an hour each way to work and back. (Hence why I bought my Prius.) I worked for a scientific company, Bruker AXS. They build x-ray diffraction machines. I worked mostly on their single-crystal diffraction (SCD) which is small molecules (APEX) and proteins (PROTEUM). I became a self-proclaimed GUI (graphical user interface) specialist. In other words I specialized in making the layout clean so that users could quickly grasp how to use a program. I also made tons of icons and graphics, mostly in Visual Studio (for the Windows .ico icons), Adobe Photoshop, and GIMP (an awesome freeware graphics utility). At first I worked in Visual C++/MFC to develop the very first version of their Proteum software, which was a massive usability improvement over their old SMART console app. Then as the software team actually reinvented itself, we switched to a base of the Python scripting language and Trolltech’s Qt using PyQt bindings.

I’ve got to say, Python and Qt kicks the ever-loving asterisk out of C++ and MFC. The code is just so much cleaner and easier to work with, and the forced indentation of Python keeps code a lot more readable.

SCD programming was interesting. It’s kind of like an electron microscope in that your intent is ultimately to look at molecules. But the means are completely different. You start by growing a tiny little crystal. Because all of the molecules in a crystal are aligned to each other. You then shoot the crystal with a very intense beam of x-rays. The x-rays refract off of the molecules in the crystal. A big x-ray catching camera called a detector catches these points of diffraction. (These days it’s done by using a thin layer of material that fluoresces -glows- when x-rays hit it. A lens of sorts focuses these points of florescence using glass fibers into a super-expensive high-resolution extremely cooled digital camera optical chip, which basically takes the picture.) As you spin the crystal and detector around to gain more and more viewpoints of how the x-rays diffract you collect enough data about your molecule to actually produce a ball-and-stick model of your molecule. Which you then refine with atomic thermal parameters and a bit of art. And voilĂ , you know everything there is to know about the molecules in your crystal. What atoms there are, how they’re bonded, what it all looks like, et cetera.

It sounds kind of silly to a lot of people. Why would someone need to know what is in their molecule. Didn’t they create it? Shouldn’t they know? Well, unfortunately chemistry is not always obvious. The same atoms can bond in different ways depending on catalysts, the amount of energy (heat) in the environment, and so forth. And so a lot of times while you know what you mixed together, the sum of the parts is less certain. You may have made the next wonder drug. Of you may have made something completely useless. So you mix up your batch, grow a crystal of it, and use x-ray diffraction to find out what you actually made. Plus there are all sorts of natural compounds, like DNA for example, where you didn’t make it but still want to know what it is in great detail.

At Bruker I also got to work on several OpenGL projects. Making 3D visualization tools was fun. I also got to maintain their KRYO-FLEX Control software, which cools a crystal down to well below freezing. It was educational to directly control hardware over a serial port, and fun to work with liquid nitrogen. Plus I got to do all sorts of other fun computer hardware-based tasks. I got to test and spec neat hardware like LCD touchscreen monitors, ACS ACOS1 smart cards and readers, Axis network cameras, and on and on. And all sorts of normal computer hardware. It was a great experience!

Well, except for one part. At one point we needed a program updated, as in massive changes, since we were switching to Qt. We just didn’t have the manpower. So we thought, hey, why not outsource? Well, the outsourcing went to India. And it was the worst experience ever. They introduced a million of stupid bugs and screwed up the memory handling so badly that we never could sort it all back out. But I caught plenty of god awful stupid errors like instantiating a the same variable name with the new operator over and over and over in the same section of code, all because they needed a pointer. And at the end they just used one delete. Talk about a memory leak! They also did things like look at the Qt sourcecode to find under-the-hood mechanisms instead of using the API. Trolltech later changed those mechanisms (but kept the API the same) thereby forcing the code to only work with one version of Qt with no way to upgrade. They also didn’t compile under both Windows and Linux like they were required to, which left a lot of work to us to sort out. And they were notorious for finding bugs in the code, commenting what crashes here and why, but then not fixing them. (Of course demanding more money if we wanted these bugs fixed.) There were plenty of other crazy gaffs too. And the worst part? After all of that horrid programming, one of their programmers had the nerve to repeatedly bug us about hiring them and relocating them to America. After that I never wanted to outsource a single thing. Just in the time spent fixing their bugs, I could have single-handedly rewritten the entire program from scratch and avoided all of those bugs. It’s really what we should have done in the first place, but at the time we just didn’t have the time. So instead we got Frankenstein’s monster.

And at home, how was my PC doing? Well the Pentium 133 finally got too expensive to keep running. I’d order used parts (there were no new) that cost a fortune and I’d be lucky if they actually worked when I got them. It became a nightmare. But I couldn’t afford a real new computer. So I made do with an eMachines Celeron 500 box with onboard AGP but no AGP slot. It overheated (how I don’t know) so I drilled holes in the front of the case and added an intake fan. The power supply kept failing, and I kept ordering new ones.

Finally, after years of saving, I had enough to really build a new box. It was a Pentium 4 Northwood C. It started at 2.6GHz, but I overclocked it to over 3GHz by raising the FSB. It had 1GB of dual-channel DDR of the Corsair XMS variety. The graphics started as a nVidia GeForce4 TI 4600, but later went to a GeForce 6600GT. The sound was (strangely) the onboard audio. Since it could do 5.1 I didn’t see the need to get a separate card. Same with network. All on an Asus P4P800 Deluxe motherboard with the 865PE Intel chipset and a lovely fanless northbridge. And put into a lovely Antec Sonata case. With a pre-cut AcoustiPack aural damping material kit. The CPU heatsink got upgraded to a very non-stock giant fanless heatsink, lapped, and using Arctic Silver 5 TIM. The exhaust 120mm fan of the case was temperature controlled by the PSU. The intake 120mm fan was an Antec self-regulating fan with its own thermal sensor. And I had two quiet 7200RPM hard drives in a RAID1 array. (For redundancy to prevent data loss if a hard drive failed.) Running Windows XP Pro. The system was not only sick to play on, but it was almost dead silent. The only noise that could be heard from the box was the graphics card fan, and even that had been about to be replaced with a fanless heatpipe/heatsink monstrosity. Thanks to HyperThreading it ran two instances of Folding@home 24/7. It was great! Or would have been. If it hadn’t been for the house fire. Between the water from the firemen and the smoke absorption properties of aural damping material, nothing salvageable was left.

I was forced to go back to budget. So I built an AMD Athlon 64 3000+ box with 1GB of Corsair Value Select DDR. One hard drive. One optical drive. MSI (shudder) motherboard with onboard everything. And a later upgrade to nVidia GeForce 7900 GT graphics. In the cheapest PoS case known to man, with an included crap PSU that thankfully hasn’t failed yet. Unfortunately, this is the PC I still use.

But ever since my sweet silent powerhouse PC I’ve had a dream – performance and aesthetics. A powerful PC in a silent, and pretty, package. Who could ask for more? Unfortunately designing it this way costs a lot. Personally though, I think it’s worth it.

Well, long story longer, things at Bruker went great. But nothing lasts forever. I didn’t want to leave, but I had to. I fell in love with a wonderful woman in Pennsylvania. So I moved to be with her. For now, at least, I’m still on contract with Bruker AXS, where I get to work from home and connect in through a VPN so that I can access the company CVS source code server as well as email and network. I have no idea how long that will last, but it pays the bills.

Here I am today. Working from home, for now. With my own blog. I’m no dummy when it comes to computers, inside or out. I know soft, firm, and hardware like no one’s business. And what I don’t know, I can easily learn if I ever find the need or desire to.

Now, that’s how I consider myself an IT expert. But what does a geek like me do for fun? (Besides building new computers, writing software, and blogging.)

I used to game, a lot. I don’t mean computer games. I mean role playing games. Advanced Dungeons and Dragons, Shadowrun, Mechwarrior, White Wolf, Rolemaster, even some Palladium and Rifts. Mostly I still prefer AD&D 1st Edition. It’s when classes were actually unique and separate, and thus groups of players actually had to work together. There were no one man armies.

Long ago I also played trading card games. Mostly Magic. I stopped around 4th Edition though because the game was just getting ludicrous. Besides the high costs of keeping up with the latest cards, most of the latest cards were getting ridiculous. So I gave it up, gave away my cards, and got out.

I also read a lot. Mostly I read fantasy and sci-fi. (Though some general fiction gets in there from time to time.) I love Roger Zelazny’s Amber series especially. I used to like Laurell K. Hamilton’s Anita Blake series, at least until publishers started giving Laurell a little too much leniency. Then she just started filling her books with crap and they got to be more and more Anne Rice-ian to read through. (Which some people probably think is a good thing, but personally I can’t stand the Queen of Anti-Climax.) I also have to admit that I used to keep up with the Stephanie Plum series from Janet Evanovich. That was one of my guilty pleasures. And, of course, what nutjob would I be without a large Piers Anthony Xanth collection.

I also write books. None have been published. In today’s screwed-up fiction author world, I doubt I ever will. Too many writers, not enough readers. But I still try to write. I’d like to think myself at least as good as a random selection from today’s shelves. I can’t say I’m Orson Scott Card good, but then who is?

I have a pet hamster, Goose. He’s spoiled rotten. Over the years I’ve had a number of hamsters (of every variety, especially dwarf) and fish (mostly various goldfish/carp family and bettas because of bad tapwater), though I did grow up as a kid with three cats. And had a guinea pig that always tried to bite me. And a rat that escaped. I like pets, especially cats. I’m just also very allergic.

I have a wonderful life partner. She and I are equals. We treat each other as such. We are a mated pair and love each other very much. We also understand and accept each other in ways no one else ever has.

I also enjoy nature. I used to go hiking and swimming out at Devil’s Lake state park when I lived in Wisconsin. I still miss that. Pennsylvania just doesn’t have anything like it, at least not that I’ve found, and certainly not a five minute drive away. I love being amongst trees and rocks, especially when a stream runs through. I’m an Earth and Water child.

I’m also a pagan. I’m a witch! Oh my. Yes indeedy. I don’t really “believe” in any one religion. I personally think billions of people can’t be wrong, so they must all be right. Somehow. But not all one. I figure it’s an infinite universe, so out there is something for everyone. I respect all religions, as long as they don’t push themselves onto others. My connection is, ultimately, to everything around us. Nothing as cheezy as “The Force”. Just a simple respect for life. I’m not sure you can really call that a religion, but I also do follow my own version of the Wiccan Rede. The simple version that every Wiccan knows is “An ye harm none, do as ye will.” Most interpret that as “harm none”. Personally, I look at it deeper than that. I see it as a statement of responsibility. If we harm none then there is no recourse to our actions. If we choose to do anything that can be construed as harm, then we choose to take on the responsibility thereof. Each action has a consequence, and I choose to be accountable for my actions. That’s how I see it anyway. Everyone else’s mileage varies, so, meh, to each their own.

I’m also a third degree Reiki master, twice. And certified in Magnified Healing. I’ve also read some and practiced a bit in Quantum Touch, but I can’t see it worth it to me to get certified in that. I’d love to learn and be certified in massage work as well, because I find that energy healing is only one level of the healing that we need – body, mind, and spirit. I’d also love to be certified as a counselor, for the same reason. But I hesitate to do so. I have a very “don’t beat around the bush” energy and mentality. If someone needs massage in an “inappropriate” place, I don’t stop to think they might take it the wrong way. I just work the muscles and energy flow exactly as is needed. It just doesn’t even occur to me to think they might have issues being touched there, even if it is completely professional. So I hesitate to be certified, because for now I only work on friends.

Anywho, that pretty much sums up me. I’ve a fine scientific mind. I can problem solve with the best of them. This makes me a good computer programmer and fair PC technician. I also love fantasy though, because I have a spiritual side that likes to believe in this great universe anything is possible. And strangely, I like to help people. I wish more people did. I’d like to think I have a fair sense of humor and can even be considered funny, from time to time. And I’m both creative and quite long-winded. As this one blog entry shows. Which is why I write novels, not short stories.

One Comment

  1. Jade McGeehan:

    Hey Arah, I have been trying to hunt you down. I heard you moved to PA and DUane is heading there now, maybe you guys can hook up (if you have time). I am inquiring about your home in Baraboo, I wrote you an email but not sure if it will go in your spam folder because of my aol settings & bulk mail. Please contact me, not sure if I had an up to date email for you. I am really needing to move within1 mo or maybe 2 and it would be great going where I knew the people. let em knwo and we can talk more. How are things with you? SO good to get in touch! SO cool, I visit PA approx 1 a year. I do psychic fairs at the Lancaster Metaphsyical chapel.. a bunch of really cool people. they got on e going on spet 26th, you should go. I susually coem down to do their fairs, but I think I will be off by a week or 2 this year> hope to talk soon. Blessings, Jade