When it comes to databases, I have always liked the usability of SQL Server. I like being able to build diagrams that automatically rearrange themselves. I like the tools for setting up replication, but I would probably never recommend SQL Server to a client given the free and open database products that are available. The alternatives are amazing, and most of my clients have simple needs that can be met with some of the good open source database products that are available. My clients have tight budgets. Everybody has a tight budget!
Any time I have used Oracle, I have found that my clients did not fully exploit the product. The superiority of Oracle should never be a good reason to continue using Oracle as far as I am concerned. Even though all of my Oracle clients had full time Oracle DBAs, the DBAs operated in a separate silo and were not directly involved in helping me write my application.
In one case, the DBA was of no help to me, except that he was obviously disgusted by the fact that I was using Microsoft products. I never met with him because he was in another city, and he prefered email and the phone, in that order. Another DBA was not even interested in my participation or my ideas – he wanted my requirements, and he wanted to build the tables and provide views himself. He knew nothing about the application I was building! Twice, I had to tell my client that the DBA was an impediment to my progress, not a help. In the end, these unhelpful DBAs were told to hold their noses while I completed my contract and to stay out of my way.
I like to see Oracle on a resume, but that is about it. An Oracle DBA is more likely to know certain things, and SQL Server DBAs tend to think a database is something you just slap under your application to manage the data. SQL Server is easy to use, but that attracts some real amateurs.
On the other hand, I have never worked on a project that would have been better if only we had used Oracle, but I know that such projects exist. For example, I would use Oracle if I were working on a database that managed information about individual stock market transactions. This would be a high volume requirement. However, Oracle wants us to believe that their product is required in ALL cases, and it is not.
I have seen bad databases with tables that were not even in second normal form that were built using the best database products around, including Oracle, Sybase, and SQL Server. Therefore, I would say that proprietary database products are not always required; also, using a proprietary database is no gaurentee of success at all. The number of people building bad databases with Oracle is probably legion. (When I say that they are bad, I am also aware that many successful businesses are run using these pieces of crap. I am a snob, and I know it.)
The right database is not just a matter of choosing the right database product, even though the vendors want you to think that. The right database is a database that is properly designed. This industry emphaisizes the tools more than the products we produce. At the end of the day, using a good tool does not ensure that the work is good; nor does using a less robust tool mean that the product is inferior. Many database built using Oracle use features that are readily available in MySQL or Postgres. It would be better to have a good designer building your database than it would to build the database using a bad designer. A good designer knows your busines, and has been doing his or her work for a long time.
Giving a smart kid the latest tools makes for colossal mistakes not for success. In the enterprise, I support the idea of cross-generational teams. The young people keep the old farts up to date on new ways of working, but the old farts have a lot to teach the youngters, too.
My goal as a software developer is to write good code, and to meet the needs of my client by applying technology to solve business problems. My goal as a heart patient is to improve my ejection fraction, to increase my exercise tolerance, to maintain or improve my quality of life, to survive a diagnosis that has been know to kill 40% of people in the first year, and to live a long life that will allow me to provide for my step kids and for my wife.
I want to build a life for us all to remember together, and I find comfort in thinking that my step children will remember this time we spend together seventy years from now. I care about them, and I have more than hopes for them: I want to equip them for life, and to teach them things to help them. In a way, I am also committed to a cause, or several, and I may want to extend my moral influence into the future through them – such is my conceit.
Nerds do not have a reputation for knowing much about exercise or health. In fact, we have a reputation for not being good at sports and for eating badly. That is our reputation, at any rate. Whether we exercise or not, I think we can safely say that we differ from most people in peculiar ways. My approach to health is nerdy, I think. My wife would agree – the way I talk about it certainly makes he suppress a giggle.
In the morning, I start my day by checking in with God by at least praying, and perhaps by reading the bible. Very quickly after that, I visit some websites to keep up with technology. I read about trends, and I read various articles about programming in either Java, C#, Python, Ruby, PHP or Javascript. I do not routinely program in each of these languages, but concepts are interesting. I also follow certain frameworks: Turbogears, Django and Ruby on Rails. Again, I do not use these frameworks in my work, but concepts are useful. Basically, I try to stay informed.
I also keep up with research on cardiomyopathy and heart failure. For example, I have decided to take Coenzyme Q10 even though my cardiologist advises that he has no reason to believe there is a benefit. I have found no research that indicates that it does harm, and I have found a lot that indicates that there may be a benefit. However, my risk management strategy is check the research every week. I also take magnesium and chromium.
My angiogram reveals that my arteries are in great shape, but blood tests revealed that my triglycerides were high and my levels of good cholesterol were extremely low. My cardiologist prescribed Lipitor to address my cholesterol problems, but I read that Lipitor shares a chemical pathway with Coenzyme Q10, which is a source of energy for the heart. This interferes with Coenzyme Q10 production in the body. A Dr. Silver recommends taking Coenzyme Q10 supplements if you take Lipitor and you have suffered from congestive heart failure. I decided to discontinue the Lipitor since my arteries are clear anyway, and to address the cholesterol problems through diet and exercise.
As a matter of course, I also track research on Lipitor, and I found an amazing study that suggests that Lipitor may have other benefits in heart failure. Lipitor seems to be associated with increased ejection fractions and better outcomes in general, despite the warning about the shared chemical pathway with Coenzyme Q10. I still refrain from taking Lipitor because I have concerns for liver complications associated with Lipitor, but I will monitor my cholesterol levels and reassess at a later date.
One of the risks I face every day is that I will retain water. This water can end up impairing the function of my heart and lungs by causing congestion. I manage this risk by getting weighed every day. A sudden gain in weight indicates a possible problem. I also manage this risk by reducing my salt intake. Salt helps the body retain fluid, but reduced salt intake is associated with less water retention. As a final precaution, I take a daily diuretic to help me shed fluid that may end up around my heart and lungs.
I have often said that a database, especially a database that is being used every day, is a machine. It breathes, it excretes and it performs other bodily functions. Databases need checkups, too. I find myself taking the same approach to my own health as I do to technology. If you are a nerd, and you are struggling with a chronic illness, perhaps you should consider transfering some of your skills to managing your health.