I'm with skeleton567 but maybe a little worse... I don't have a "gift". I have a passion.
I started my love for computers back in high-school in the late 60's where I had the incredible pleasure to work with punched cards, unit record equipment, and an awesome 2nd generation computer that used transistors rather than vacuum tubes. Just before I joined the United States Navy, I bought an incredible Texas Instruments SR-56 programmable calculator that had 100 programmable steps. As a sonarman, it served me very well in calculating the "Ranges of the Day", "Best Depth for Evasion", and for doing the calculations for manually plotting "Raypath Traces", "Convergence Zones", where the "SOFAR Channel" is ( https://en.wikipedia.org/wiki/SOFAR_channel ), and extremely (necessarily) fast "Ping Steal Ranging" calculations all based on a "Sound Velocity Profile" measured during a special dive the sub would occasionally do to a given depth combined with the measurements from "Bathymetric Charts" for deeper depths that had little change over time.
In late 1977, I was teaching electronics at Fleet ASW school during my "shore duty" and the "school masters" came in and asked if anyone had any computer experience. Myself and another fellow (his name was Regis Krug and I'll never forget it because of what we did together) raised our hands. We were then told that we had 5 weeks to build a 5 week (5 days a week 8 hours per day, 200 hours total) new course on micro-processors. Of course, our first question was, "Ok... what's a micro-processor"? 😀 It took an insane amount of study and testing on some uProcessor training sets and the manually interface-able digital logic boards but we did it. And, we also very successfully taught a bunch of others (including "farm boys" that didn't even know what a 4 function calculator was) how to hand-assemble machine language programs that they had designed and written. I even wrote a tone generation program and had 3 of the computers (2 players and 1 conductor) play Bach Inventions in C-Dur for Guitar 1 and 2 and wrote the code for a digital recorder and playback system using nothing but hand assembled machine language.
When I got out of the Navy, I joined a fortune 100 company as a "Senior Field Engineer" and worked especially with a sonar system console, which also happened to be computer driven. I was also fortunate in another area... someone had ordered a desk-top computer (an HP-2647A and they almost took up the whole desktop back then) that had some canned charting ability. It was also programmable and I was asked to "figure out how to use it", which I did. I also figured out how to interface it with a remote main frame even though it wasn't designed to do so and did some really neat things with auto-magically creating charts and graphs from main-frame info. I even wrote a graphic program to print WBS charts (Work Breakdown Structures that look like org charts).
Later, they brought in these new things called "Personal Computers" (or "PC") along with some software that would do the equivalent of making an accountant's spreadsheet and other things (Lotus Symphony and it was freakin' awesome!). I also wrote code to make them interface with the main-frames and made it so they no longer needed to print 3 foot high stacks of Green-Bar paper for each accountant (won a couple of cash awards for that). I even figured out how to interface the computers with certain "Daisy Wheel" typewriters. And, of course, I started an in-house training program for everything I had done and especially for how to use the spreadsheet part of Lotus Symphony (later, Lotus 1-2-3 and much later, MS Excel, which I hated and still have some hate for). I later taught classes on how to use these new fangled laser and desk-jet printers and how to program the spreadsheets to take advantage of them.
And, of course, I'm also an "accidental DBA" with my roots in the mid-90's, as well. I could talk for a couple of hours about that, but won't bore you with the details now.
I told you that story to tell you this one...
Obviously, I loved playing with computers, computer programming (an incredible tool limited only by one's imagination) and especially data... LOTS of data! It's a good thing because I'm actually not very quick or even good at it. It takes me longer than anyone I know to write code to do something (although it usually passes QA first time). It also takes me longer to understand something than most people I know. I have to practice things over and over to get it right and, if I don't document what I've done, it's hard for me to remember what I've done. I hate the human thought process and how complex people make it when they try to describe what they want done (with or without data) and so my other interest has been to become rather keen on using the KISS principle (which I call "Keep It Super Simple" rather than "Keep It Simple Stupid") and the "Scientific Method" is also hugely important in such matters. It turns out that both of those principles are especially important for making nasty fast (and accurate and fault correcting/tolerant) database code.
The bad part of it all is that in order for me to not suck at it, I have to practice even already known things every day and I also spend a whole lot of time learning new things either from others or through experimentation.
With that, I'll say I have no gifts as a DBA or a programmer... I have only a love, nay, deeply rooted passion for what I do. And, very fortunately, that passion and a nearly equal passion for teaching has served me well. I try to "pass it forward" whenever I can.
I'll also once again say... SQLServerCentral.com, the denizens that frequent it, and the community that has grown because of it, have played a major role in what I've been able to both learn and to teach myself (experimentation to solve different problems). There is no place in the world where you can get such a raft of interesting, real life problems to work on and learn from especially when the denizens of the site bring guns to bear on a problem. You just can't get this type of thing in a classroom.
And, thanks to this site, I've also made many friends (some that I've had the true honor to meet in person) that I would have otherwise certainly missed out on.
Thank you one and all with a special thanks to the originators of the site and especially to Steve Jones for keeping it going for nearly 2 decades now.
is pronounced "ree-bar
" and is a "Modenism
" for R
First step towards the paradigm shift of writing Set Based code:
________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.
"Change is inevitable... change for the better is not".
"If "pre-optimization" is the root of all evil, then what does the resulting no optimization lead to?"
How to post code problems
How to Post Performance Problems
Create a Tally Function (fnTally)