Bruce Momjian

General FAQ


Personal

Who lives in your house?

I, my wife (Christine), three of our children (Matthew, Luke, Catherine), and aunt (Wilma), so there are six of us home all day. Our son Peter lives in New York City.

How do you pronounce your last name?

The English pronunciation is MOM-jin. The name is Armenian, and both my wife and I are Armenian, though I was born in the United States.

Why did you decide to home-school your children?

I was home all the time, and so was my wife, so it seemed strange to send our kids out to school every day. We felt our children could get a better education by learning at home where their study time is more productive. In school, you spend half your time learning and the other half waiting in line, eating lunch, and having recess. They took the standardized tests and were evaluated every year, so we got clear feedback they are getting a good education.

Weren't you concerned about them learning proper social skills?

In a school setting, children spend all their time with people their own age. However, once you finish school, this is rarely the case. Our children interacted with people of all ages, and had many outside activities to foster socialization. They had a music, gym, and art classes at church once a week with other home-school children, and were involved in gymnastics, marble competitions, musical instrument instruction, choir, drama, and professional theater. This was easier to do because they didn't spend eight hours in school every day. In fact, studies have shown that home-schooled children are more involved in community activities and better at socializing with people of different ages than traditionally schooled children.

Why are you a Christian?

I always knew there was a God, but I thought I could understand religion on my own. However, while I was in college I had a dream that I was in a huge, dark room --- suddenly there was a light shining on a black cloak that covered a figure I knew was pure evil. I realized at that point I should get serious about my beliefs. I accepted that trying to figure out what life means is impossible and I must accept some things on faith. I also realized Christians had something I lacked, and could never attain on my own. I became a Christian believer at the age of twenty three.

What is the painting on the wall behind you when are on video calls?

The painting was purchased at an estate auction in 2002 for usd $600. Its style is Capriccio, which combines ancient and modern subjects. This painting depicts Renaissance-era Europeans among ancient Roman ruins. The painting is signed by "Charles," but little else is know of its origin. The frame is modern, so the the painting might be modern also. As a Capriccio painting, it would be appropriate for a modern painter to use an antique-looking frame to portray Renaissance-era Europeans among Roman ruins.


Work

What is your job?

My job is unusual — I help volunteers develop database software. The software is free. We communicate with each other via the Internet. I started as a volunteer but am now employed by a company. Though the software is free, my employer makes money by selling enhancements and support for the software. I realize it is confusing; I even wrote a blog posting about it.

How many hours do you work a day?

(For some reason I am being asked this question a lot lately.) I usually work 6-10 hours a day, and a few hours on weekends. As soon as I wake up I check check my personal email. I then eat and get dressed and read all new community email. Once that is done I start on whatever special project I have to do that day. In the evening I usually work until about 9pm and check my email just before I go to bed. My work day is longer than usual, but I take frequent breaks and sometimes even go out in the middle of the day. Of course I check my email as soon as I get back home.

Why do you travel?

I travel to meet and encourage our volunteer developers around the world. You might think it would be hard to find volunteers, but considering how many people are in the world, it only takes a small percentage of programmers who like working on challenging software, or who are already using our software in their companies, to make a community large enough to develop software. This book has a good description of the job I do.

Do you mind traveling often?

No, not really. I work from home so it is a chance to get out and see more of the world. If I worked in an office every day and had to travel a lot, it certainly would be harder. Also, I usually go to different places each time, which makes the trips more enjoyable. Interestingly my travel experience is as a native rather than a tourist, so I get a good feel for each country. I try to allot one extra day at the end to sightsee. I usually don't remember the flight or event, but I do remember the sightseeing day and that motivates me to travel in the future.

Having traveled as much as I do, I have found a few tricks that help me sleep on the plane:

  • Eat before boarding the plane (you waste too much time waiting for food)
  • Use ear plugs and an eye mask to avoid being woken up
  • Take your shoes off and wear extra socks to keep your feet warm
  • Take a blow-up neck pillow to support your head while sleeping (blow-up pillows are easily kept in a briefcase.)
  • Bring water with you to avoid dehydration
  • Don't watch movies if you should be sleeping

I usually bring a book and my laptop with videos on flights. I try to sleep two-thirds of the flight time, but adjust that based on the local time of my arrival. This blog entry and articles (1, 2) have many more details.


Software

What made you start working on an open-source database?

In 1996, I had been using SQL databases at work for years, but I had no SQL database on my home Unix machine, and there weren't any affordable ones available. I looked around and finally found PostgreSQL. It had features similar to the commercial databases I was using at work. I started using it and while it was powerful, it had lots of bugs, and the bug fixes weren't being collected and released frequently enough. The software had potential, but it needed organization. I was always curious how SQL databases executed queries, and with PostgreSQL I could see the process in action, so I started digging into the code. I also learned a lot about programming complex applications, so I stuck around with the idea that the new skills I learned might be helpful someday, and as they say, the rest is history.

Actually, I was interested in writing an SQL server long before I started with PostgreSQL. I wrote shql (README, demo, download) from 1992 to 1995 which implemented SQL entirely in Unix shell script. I also worked on a C version in 1995 that was never completed.

What early computing devices did you use?

What computer skills have you focused on learning?

I have always avoided learning things that have short-term usefulness, like WordPerfect macros or DOS memory optimizations. I focused on core technologies that have a long-term usefulness, including:

  • Unix
  • Operating system kernels
  • Virtual memory management
  • Device drivers
  • The C language
  • Compiler design
  • Tcp/ip networking
  • Html and css

I even learned assembler because ultimately all languages run as machine code on the host CPU. Having low-level knowledge allows me to attack problems with a deeper understanding.