Showing posts with label Oracle. Show all posts
Showing posts with label Oracle. Show all posts

Wednesday, March 29, 2023

My Favorite Short Cut: ALT-TAB

You can tell how long someone has been using computers by paying attention to the short cuts he/she uses to navigate on the computer. I usually have quite a few application running on my computer and I need to be able to quickly switch between them. Back when dinosaurs roamed the earth and Windows 3.0 first came on the market, I used to only have one or two apps running and could easily just click between them. It didn't take long to quickly exhaust that functionality, especially with the small screens on laptops we had back then.

I remember leading a training session on a new database tool and I kept having to switch between a PowerPoint presentation and the tool. I would escape out of presentation mode, minimize PowerPoint, and show my demo. Once I completed the demo, I would expand PowerPoint and go back into presentation mode. Then someone showed me the power of ALT-TAB that allowed me to instantly switch between all running applications. I thought it was great and still use that key combination today even though there are more advanced ways of switching between running applications. For instance, you can see the running applications in Windows by just looking at the toolbar on the bottom of your screen. I still prefer ALT-TAB.

There are a number of other computer short cuts that will give away the length of time someone has been using computers. My work laptop run Microsoft Windows but I am an old Unix guy. When I open the Windows Power Shell it is a hard to remember not to use the "ls" command to get a directory listing of files instead of the preferred "dir" command familiar to those who learned "DOS." Fortunately Power Shell understands both commands and so I don't get the old "Syntax Error" I used to.

Another trick that really shows how old I am is from when I started using Oracle version 4. When you wanted to get a list of all the tables in the database, you would run the following command:

SELECT * FROM tab;

The result was a very simple listing of tables and some other basic information. Oracle later added more complete table definitions but I still use this simple command. Why? Because it is so simple and easy to remember. Are there better ways to find out what tables are in your database or schema? That depends upon how you define better. If you have to go to a manual and look it up, nope.

I used to work for a company that took PostgreSQL and made it look like Oracle for a lot less money. The first thing I tried when I sat down to play with the product was the command listed above. When it worked, I knew there were others at the company that appreciated quick and simple. I also knew they had people on the development staff that had used Oracle for a very long time, an important fact to me at the time.

Tuesday, December 4, 2012

Java Blows

I have been working on a project at the office involving Java and it is much more complicated than it needs to be. Part of the problem is that we are using a piece of software that isn't that well documented. However the bulk of the problems stem from the overcomplexity that is now associated with Java. I needed a small program that needed to do three things. If my Java program requires a directory filled with various files just to do one of those tasks, there is a problem.

When I started my career at Oracle corporation, I had the luxury of learning one of the most complex relational database management systems on the planet. I watched as database administrators built their careers on this complexity, never having to learn another company's product. I then watched a number of Java developers do the same thing with this new language created by Sun Microsystems. I don't think it is a coincidence that Oracle now owns the rights to Java because of the Sun acquisition.

Lately I have been watching as Java has waned in popularity and other software development languages have risen to take its place. I just wish the death of Java wasn't taking so long. Do yourself a favor and if someone suggest using Java to create an application, just say, "No."

Wednesday, November 7, 2012

An Elegant Example

"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." - Antoine de Saint-Exupery

Antoine was a smart guy and one of my favorite writers. Of course it helps that I am fluent in French and can read his works as they were written. His quote about perfection is very true. Lately I have been working with a coworker to get a Hadoop cluster running and that has been an exercise in frustration. I am glad that Oracle had much better documentation writers when I was learning SQL. Otherwise I might be working in a completely different industry.

A lot of credit should go out to Bruce Scott for creating Oracle's scott/tiger example database tables. It started with just a couple of tables that could be used to provide examples for all of Oracle's SQL commands. The beauty of them was their simplicity. You basically had a table listing employees with basic information and a second table listing departments. Each employee belonged to a department, which allowed for a number of different JOIN examples between the two tables. Furthermore, each employee reported to another one except for KING, who as his name indicated, was the head honcho. Both tables were so small, you had them memorized after the first three examples. They were also so simple there was just a NAME column. No need to memorize a first name and a last name and the names were just a single syllable.

Version 6 of the Oracle database added a few more tables and then some genius decided to complicate things with an entirely new and overly complex set of tables. I understand that a lot of new features were added, but the simplicity of the original scott/tiger tables should have served as a pattern for future examples. Now I only wish Hadoop's document writers had noticed as well.

Thursday, May 31, 2012

Oracle Alumni Dinner

On Tuesday evening I was able to attend an Oracle Alumni dinner at the Four Seasons Hotel in Palo Alto, California. The dinner was supposed to be for the 100 most influential people of Oracle in the early days. Don't ask how I got invited as I was still in high school when I first started working at Oracle in 1986 and played a very small part in helping the company.

It was fun to get together with a small group of friends from Oracle's early days. I would say that I knew about half of the people in attendance and it had been over 20 years since I had seen most them. A lot of the old Oracle Alumni have gone on to become CEO's at large software companies throughout Silicon Valley. It was fun for me to be able to talk with them and find out what they have been up to. I was amazed to discover how many of them have left the corporate world and started working with various charities. The thing that wasn't so surprising was how many of them went on to sit on various boards for other companies.

The evening eventually came to a close and it was sad to part company. Business cards were exchanged and promises of getting together again soon echoed through the room. Now I just hope it doesn't take another 20 years to get together again.

Monday, November 15, 2010

MySQL vs. PostgreSQL

The PostgreSQL community recently had PgWest, which is a conference where users and developers gathered together to learn from each other. It was held in San Francisco, near where I work and so I submitted a paper to present. The paper was accepted and I spent a day at the conference. I would have liked to stay for all three days but had a project back at the office that required my full attention.

One of the sessions that I missed was on the differences between MySQL and PostgreSQL. Both are database management systems and are freely available. MySQL was controlled by a single company and then was purchased by Sun, which was then purchased by Oracle. PostgreSQL is a community project with developers all over the world. I would have liked to attend the presentation as I use both MySQL and PostgreSQL for my job.

Looking at all of the online traffic generated by the presentation, I really wish I had been there. I get the feeling that it was a bit like watching a cat thrown into a room full of hungry dogs (MySQL being the cat and all of the PostgreSQL fans being the hungry dogs). I have to sit back and laugh at all of the contention the one presentation has caused. It reminds me of the movie, "Monty Python's Life of Brian." The movie takes place in Jerusalem during the time of Christ. There are several Jewish groups opposing the Roman occupation. One is the "People's Front of Judea" and the other is the "Judean People's Front." Instead of working together to rid themselves of the Romans, they fight against each other.

PostgreSQL and MySQL are both open source databases and can be used without any licensing costs. They may have different architectures and methods of development, but they allow users to run complex database management systems without the burden of heavy fees required to run Oracle, Microsoft SQL Server, or IBM DB2. Maybe someday the two camps will stop arguing long enough to figure out they are on the same side and stop trying to steal each other's users.

Then again MySQL is now owned by Oracle . . . who charges large sums of money to use their "other" database product . . .

Thursday, October 21, 2010

Learning MySQL

I originally started today's entry with the title "I Hate MySQL." However I realize that I don't like it mostly because I don't know it very well. In an effort to be more fair to MySQL, I toned down the title a bit and publicly acknowledge that I have some learning to do.

For those that don't know, I prefer PostgreSQL to MySQL. I use PostgreSQL daily and it is my database of choice on any new project. I also know the Oracle database well and have used it in various production systems. Unfortunately it is rather expensive and PostgreSQL will do 95% of the things Oracle can for a lot less money.

Today I have to administer a MySQL database because of performance issues. I have about 8,000 rows that I need to move from one table to another. This involves inserting them into the new table and then deleting them from the old. You would think that given the rantings of many MySQL followers that such a task would be simple and quick. Unfortunately the application that I am using references two other very large tables which complicates things a lot. I started this move yesterday at 10am and it still hasn't completed. There are tools that allow me to see what is happening in the database and the delete seems to be running longer than one would guess. Unfortunately there doesn't seem to be anything I can do to speed things up.

During my frustrating morning, a friend sent me a link to a very funny video where two stuffed bears are discussing MySQL vs. PostgreSQL. The language is very crude and so I won't post the link here. However it did put a smile on my face.