General
Who lives in your house?
I, my wife (Christine), our four children (Matthew, Luke, Peter, Catherine), and aunt (Wilma), so there are seven of us home all day.
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 am home all the time, and so is 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 take the standardized tests and are evaluated every year, so we get clear feedback they are getting a good education.
Aren'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 interact with people of all ages, and have many outside activities to foster socialization. They have a music, gym, and art classes at church once a week with other home-school children, and are involved in gymnastics, marble competitions, musical instrument instruction, choir, drama, and professional theater. This is easier to do because they don'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 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.)
- Don't watch movies if you should be sleeping
I usually bring a book and my laptop with DVDs on the flight. I try to sleep two-thirds of the flight time, but adjust that based on the local time of my arrival.
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?
- Sharp Compet 363P Programmable Desktop Calculator
- IBM 5100 with APL
- Z80 Assembler board
- DECSYSTEM-20
- SR52 Calculator
- Commodore VIC20
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.
Computer Advice
Should I buy a laptop or a desktop computer?
Laptops now have features and a price comparable to desktop systems. Laptops have the advantage of mobility, but also have the disadvantages of a smaller keyboard, fragility, and are harder to upgrade. For Internet use, laptops also need a wireless networking card and wireless access point. If you are going to use your computer always at the same desk, a desktop computer is probably better, but if you want to roam around, a laptop might be a good idea. If possible, borrow someone else's laptop for a few days to see if you can live with its limitations.
Which laptop should I choose?
Size
There are two sizes for portable computers: laptops/notebooks and sub-notebooks. While laptops/notebook computers can be easily carried, they are probably too heavy to carry with you all day, every day. Sub-notebooks have smaller keyboards, screens, and fewer features, but are much lighter can be carried around regularly.
Price
At this time, $1000 USD gets you a very good laptop. More than that and the improvement isn't really significant considering the extra cost. You can pay $2000 USD for a laptop, but it isn't twice as good as a $1000 laptop, and probably isn't any more useful unless you are doing very compute-intensive work, like video editing. Also consider you can get two $1000 laptops for the cost of a $2000 laptop and the $2000 laptop starts to look very expensive.
Screen Type
There are two types of screens. The first is the traditional square-ish laptop screen, like typical desktop monitors, and the screen is not shiny (matte). The second type is the DVD-type screen where the dimensions of the screen match that of a DVD movie (letter-box), and the screen is shiny. Unless you are going to be watching a lot of DVD's on the laptop, I do not recommend the DVD-type. The letter-box screen reduces the height of the screen (the screen actually has less area), and while the shiny screen produces very crisp video images, the shininess causes glare in many settings, making the screen harder to read for non-video use.
Manufacturer
I suggest Lenovo or Toshiba laptops because they have a reputation for reliability and good service. There are service centers world-wide. and several near my home. I can drop it off and pick it up fixed in 2-3 days. Dell, Gateway, and others are more consumer laptops, with fancy options and light-up buttons, but they are not as reliable. Laptops get a lot more abuse than a desktop system, so reliability/service is important. I have had two laptops for several years, and both have been in for service multiple times, and all are still working like they are brand new. My children and my trips mean my laptops get a lot of usage and abuse. One laptop once dropped from a table onto an airport tile floor with no damage.
Should I get wireless for my home?
If you have a laptop computer in your home, wireless Internet is almost a necessity. If you don't have it, you will have to connect your laptop to an Internet connection whenever you need Internet access. With wireless networking, you connect a transmitter base station to the Internet, and any laptop can get on the Internet by transmitting to that base station. If you get a base station, also called a Wireless Access Point (WAP), you should make some changes so the transmitter is secure. If you don't, then anyone who can receive signals from the base station can read all information passing between the laptop and the Internet. You should:
- Change the user name/password used by the WAP
- Enable WEP security by generating a unique key on the WAP and adding the same key to each laptop
- Set a new custom SSID
- Disable broadcasting of the SSID
- Limit the IP addresses that may connect
- Limit the network device serial numbers (MAC addresses) that can connect
Where should I purchase my next computer?
I always buy my computers from local people, usually in a storefront location. These people know me and can build a computer that matches my needs. They are also available to upgrade my computer when it needs additional hardware. I find that I usually need some part of my computer upgraded one-to-two years after purchase, and they can usually do the upgrade economically. Also, if I have a problem, I can take the computer to the store and get it fixed quickly. I have heard of poor service from companies that rely on telephone support for to solve problems. If you have a problem with your computer, you need someone who can physically take the computer and fix it.
Why can't I read most email attachments?
Email attachments confuse a lot of people. The sender creates a file in an application, attaches it to an email, and assumes the person receiving the email can read the attachment. "If I can read the attachment, why can't they?", they wonder. Well, the assumption is that the person receiving the email has an identical computer setup, which is often incorrect. They might be missing certain MIME application configuration settings. (MIME is the system that associates mail attachment types with applications that can read those attachments.) The person receiving the email might not even have the application needed to read the file. For example, a typical incorrect attachment uses a Microsoft Windows document and attaches it to an email with MIME content type application/octet-streamThis can cause problems in two ways — first, it assumes the receiver has Microsoft Windows to read the file, and second, the MIME content type is marked with the generic application/octet-streaminstead of the proper content type that describes the actual file, application/msword.
What format should I use for email attachments?
Attachment files should be as simple as possible to guarantee that all recipients can read it:
- text: This is a flat ASCII file with no special formatting like bolding or italics. This type of attachment is usually displayed in the email client. (Mime type text/plain.)
- html: This has formatting like a web page, and includes bolding and italics. It does not more complex formating like page breaks. This is usually displayed in the email client or web browser. (MIME type text/html.)
- PDF: This includes all formating including page breaks and precise font appearance. It is viewed using Adobe Acrobat, which is installed on most computers. (MIME type application/pdf.)
How should I backup my computer?
Odds are that you will lose data stored in your computer, either through hardware failure or operating system corruption. The only reliable way to save data for long periods is to make backups regularly, and ideally keep those backups in a secure location away from the computer (think power spike or theft). Many computers have writable DVD or CDROM drives, and these drives can be used for backups, though they are not ideal for nightly backups. (Keep in mind long-term archiving. This article suggests that DVD+R is the best format.) External hard drives can also be used, and they can do incremental backups every night. While this is not a complete backup, it might be sufficient for most people. Keep in mind that not only does the backup medium either have to last for years, but there also has to be a device that can read that information years from now too.
I backup my system every night to tape, rotate the tapes every week, and store tapes in a fire safe designed for digital media, and also off-site. I have files from my original 1989 computer, and can access my family calendar from ten years ago. This web site summarizes backup issues in an entertaining way.
What is a good password use policy?
I typically use three passwords:
- passwords for non-secure use, like those used for setting web site preferences or email settings
- passwords for access to confidential data or programs, like a computer account login or financial data
- passwords for access to other passwords, like a master password file
Three passwords are easy to remember, and if a less secure password is broken, it does not affect access to more sensitive resources.
What programs do you use?
Surprisingly, I only use a few programs on a daily basis:- A multi-window terminal emulation program that connects to my server (putty & screen)
- Mozilla Firefox - like Internet Explorer, but better
- Pidgin - better than individual instant message programs because it connects to all of them with one program
- Rhapsody - music streaming service
- I use Ubuntu, a Debian-based version of Linux, as the operating system on my laptops.
What printer do you use?
I have an HP Deskjet 6127. It has several features that together make for a perfect printer:
- automatic double-sized printing
- connects directly to the network rather than requiring connection to a host computer
- two paper trays, with a combined capacity of 400 sheets
What automated things help you at home?
I have a number of simple things that make life easier at home:
- Address book: Our family address book is stored in our computer. Also, because modems are connected to the computer, you can dial anyone in the address book automatically. Four-column, double-sided listings can be printed easily.
- Caller ID: Again, because modems are connected to the computer, incoming calls are displayed on all computer terminals in the home. Also because of the address book, telephone numbers are cross-referenced and appropriate descriptions are often displayed, like Bruce Momjian from cell phone.
- Calendar: We maintain a calendar on the computer. Each day's calendar entries are emailed to all family members daily.
- Answering machine: My answering machine calls my cell phone if someone leaves a message. I use the "block caller id" code before dialing the cell phone so it is clear that it is the answering machine calling and not someone from home.
- Computer-controlled electrical devices: Thanks to X10 devices, it is possible for the computer to turn on/off lights at preset times, or when it gets dark outside using dusk sensors. It is also possible to get information from motion sensors and to control lights using wireless controllers.
I have a presentation about my home automation too.
hi

FAQ
RSS