Let's Adore Jesus-Eucharist! | Home >> Varia >> Software Engineering
1.1) Purchasing advice. See the Legal Consideration #18 concerning purchasing suggestions made on this web site.
1.2) Target audience. This advice is for the computer-illiterate. If you're a geek, don't read this to learn something, but to suggest improvements to me.
1.3) Details on vendors. For more information on the products and vendors mentioned here, please consult "Some Good Software Engineering Links".
1.4) Beware of outdated advice. Things change fast in the computer world. (This article was last updated 2015-August-28.)
1.5) My advice is tainted by what I use these days. I currently own two Lenovo Thinkpad T440p laptops (dual-boot on Linux Mint 17.1), with Windows 7, Microsoft Office 2000, Thunderbird e-mail and Firefox browser with Adblock Plus.
Many years ago when I was a programmer in the USA, I remember hearing about an engineer who would always sign off his e-mails with the wish: "May all your problems be technical".
One of the first problems I have with computer illiterates who ask me for some computer advice is that they think the problem is technical. Normally, that's not the case. Mankind has pretty well solved all computer problems. Mankind has the knowledge to build excellent computers that are small, inexpensive, user-friendly, rugged, etc. The problem is not technology. The problem is Original Sin.
How does Original Sin harm computers? Here are a few examples:
2.1) Non-removable or non-standard batteries. Some computers have a rechargeable battery which is non-standard and difficult to replace by the user. Since this battery will eventually wear out, you'll have to buy a new computer, or pay a lot for the manufacturer to replace it.
2.2) Software that doesn't belong to you. You pay for them, but the manufacturer remains the owner, and can force you to "re-buy" them over and over again, year after year. (A recent variation on this theme is rented software that lives "in the cloud".)
2.3) Private file formats. Some programs take your data and put them in non-standard, private file formats. Your data (which belongs to you) becomes in a way hostage of that software manufacturer.
2.4) Cloud Computing. "Cloud Computing" is just a marketing expression which means your data and software no longer live on your computer, but are kept "in the cloud" ("cloud" meaning "Internet"), on a big shared computer, under the full control of somebody other than you.
Many years ago computers were so expensive that only large companies and the military could afford them. So it made a lot of sense to allow many users to share a single remote computer. But these days there are probably computers in your telephone, your microwave oven, even your washing machine and your kettle! So forcing many users to put all their data and software on a single remote computer really is "worse than stupid".
2.5) Computer fads. Computer manufacturers love it when a whole herd of captive clients rush to the left or to the right to buy new computers. So they like fads. Often these fads are based on new shapes of computers. Careful, it's easy to be cute when you don't need to be practical. Don't forget the computer as such takes up almost no place. If you take the "brains" of a computer (CPU and RAM), and you grind it up with a mortar and pestle, you'll probably be able to fit it inside a thimble (and miniaturization continues!). What is big is the battery, screen and keyboard. So if you get rid of one or more of these elements, you can easily have a computer that looks really pretty in the showcase.
2.6) Planned obsolescence. Another way manufacturers get customers to buy more is to build computers that self-destruct after a short period of time. (There are no technical hurdles to building an inexpensive computer that should last a lifetime.) Another twist on planned obsolescence is somehow connecting the computer to something that manufacturers can change, forcing everybody to buy new computers. For example, "software bloat", whereby manufacturers increase the size of the operating system such that users have to buy more powerful computers. Another example is telecommunication: increase the speed of the network a little bit as a pretense to change the network protocol a lot, so users have to buy new telephones to stay connected.
2.7) Trap doors built into your hardware and software. Recently, what some suspected has been confirmed: many Governments force computer manufacturers and telecommunication companies to insert "trap doors" into computer hardware and software, so they can spy on their own citizens. And of course, nothing prevents manufacturers from using such trap doors for themselves.
2.8) "Buy me now!" user interfaces. If you study human-computer interfaces, you'll notice that often there is unnecessary complexity. Instead of making simple interfaces that allow the user to get some work done, manufacturers often try to place advertisments for their products, or put on audio-visual shows to entertain and attract. I angrily swing my machete in the jungle of pop-up messages and flashing lights and warnings for this and please click here for that and automatic "improving" of what you're trying to type over here and automatic starting up of programs you don't need over there and wait your computer has frozen because it's automatically downloading humongous updates for software you don't even want. Because of constant machete-swinging on my own computer, I tend to forget this state of things. So when a computer illiterate asks me for help and I sit down in front of his computer, I'm often totally overwhelmed by an outburst of unecessary complexity.
2.9) "No, let's do it my way!". In the world of open-source software, greed is less present, but human pride and stupidity unfortunately more than compensate. You don't like something in the software (or you've had a e-mail flame war with somebody on that project)? Fork the project, and start adding incompatibilities!
2.10) New features, old bugs. Fixing existing bugs is hard and boring work. And bragging about bug fixes tends to draw the client's attention to the fact you sold him some really sucky software. Adding new features is fun, and makes clients want to buy the new version. So software normally accumulates new features while accumulating new and old bugs.
As we speak, it would be relatively easy for a manufacturer to build a computer that would be:
- Quite small and fairly light (for example, roughly the size and weight of a
Panasonic Toughpad B1 - 7 in. Android).
- Equipped with a touchscreen (at home I'd use a big external keyboard and a big external monitor, but with the "pop-up keyboard" on the touchscreen, I could still enter data in a pinch).
- Impervious to rain, fairly resistant to cold and shocks.
- Without an annoying cooling fan.
- Powered by AA cells (not AAA, nor a proprietary battery format).
- Able to run normal open-source software like "Libre Office" and some usable e-mail software.
- Equipped with a normal USB port (to transfer documents by sneakernet, to connect an external keyboard, etc.).
- Equipped with a port to connect a large external monitor (I imagine HDMI Type D).
- Able to connect to a wireless network, but also equipped with a physical switch to cut all network connections.
- Devoid of non-removable mass storage. There would be at least two easily-accessible internal slots for removable mass storage devices (I still like spinning rust, i.e. hard drives, but it could be SSD too). Because there would be no hard-to-remove mass storage, you could lend your computer to a perfect stranger (or borrow his), just by swapping out the hard drive. Since there would be two slots, you could back up your data just by plugging in your other hard drive and copying everything from one to the other. (This also has the beneficial side-effect of defragmenting your hard drive.)
- Unable to boot from removable media. In other words, the operating system would be burnt into a ROM chip soldered on the motherboard, once and for all. Notice I said ROM, and not EEPROM or some other modifiable thing. ROM as in the only way to patch this operating system is to rip out the physical chip and to solder a new one in. There would never be any operating system updates, because it would be simple and well-programmed. No rootkits could ever be installed. If for whatever reason you caught a computer virus, you would just take out the batteries, unplug the power cord (if it was connected), wait a few seconds, then plug it back in.
- Unable to "autorun" anything. In other words, there would be no way to configure this computer (either by the user or programmatically) to make it automatically do something. In other words, if you double-click on a virus, you're infected and it's your fault. Otherwise, you can never get infected.
As we speak, I'm not aware of such a computer being available for sale. If I'm wrong, please call me urgently!
Given the main obstacle to a good computer is Original Sin, and given that there currently isn't a good computer you can buy (as far as I know), what are some general rules for choosing a less-than-ideal but existing computer?
4.1) The computer is almost irrelevant; it's your data that counts. Computers are more like a liter of milk, than a bottle of wine. A computer is not an investment which increases in value, like a bottle of good wine. It's something that quickly becomes stale, even if you don't use it, like a liter of milk. Don't worry too much about the hardware and the software. Try to find a computer that lets you keep control of your data.
4.2) Miniaturization is expensive. All else being equal, a smaller computer will always be more expensive than a big one. Smaller computers also have a tendency to be harder to fix, to lag behind big computers in speed, and to be stolen more often.
4.3) Buy a portable computer. Portable computers have disadvantages (see above), but the advantages handsomely compensate:
4.3.1) Mobility. You can take it with you to work, while traveling, in school, elsewhere in your own house (to have peace and quiet!), etc. You therefore always have with you your addresses, your music, your pictures, your work documents, your correspondence, your books, etc.! So cool!
4.3.2) Small size. Few people have too much space where they live. Even if you never carry it around, a portable computer is still handy, if only for the fact it uses up so little space.
4.3.3) Health. You can work in other positions: standing up, lying down in bed, sitting in your rocking chair, etc. (Important among others for people who have back problems.)
4.3.4) Tech support. If you're "computer-illiterate", you can easily take your portable computer to a "nerd" so he can solve your problem and explain how to do things. Don't underestimate this advantage!
4.4) Buy two identical computers, or a good guarantee. Computers break down (whether the hardware or the software!), and are relatively hard and costly to fix. Ideally, when you find the computer which is appropriate for you, buy two. (A few years ago, that approach would have been unthinkable because computers were too expensive, but these days it's easy.) When your computer breaks down, you just take your spare computer and bingo! Problem solved!
If for some strange reason you can only have one computer, at least take a good guarantee. Careful, all guarantees are not equal! A bad guarantee is almost worthless, because when your computer breaks down, you put it in a box, mail it to them, then wait..., wait..., wait... A real guarantee is when you can go back to the store and they will give you a new one, or they will send a technician where you are, at home or at your office, within 24 or 48 hours.
4.5) Don't buy second-hand computers. It's almost inevitably a bad idea to buy used. (Among others because of #4.1, #4.4, etc.)
4.6) Unfortunately, as far as I know, no manufacturer is vastly superior to the others. I've personally had, or have heard of "horror stories" about most brands (Apple, Dell, Acer, Toshiba, Compaq-HP, Sony, Lenovo, etc.). This seems confirmed by the fact that many sub-components of all these different computers often come from the same manufacturers.
4.7) Fortunately, many of the brands and models are tolerable. If you buy a brand-new portable computer, with an identical backup or a good guarantee, as well as the hardware options, software and accessories listed below, and that your computing needs are ordinary, you'll probably be satisfied.
Normally there aren't too many choices to be made in the hardware options for your portable computer. Nevertheless, I can mention:
5.1) Don't insist on the CPU. The CPU (the "brains" of the computer) is generally not used very intensively. Unless you do a lot of geeky work like numerical computing, or image processing, etc., whatever you get will probably be powerful enough.
5.2) Insist on the monitor, the keyboard (and if applicable, the touch pad). We spend most of the time staring at the monitor, typing away on the keyboard, and "mousing around" on the Touch pad, so it's worthwhile to get good ones.
Careful, some portable computers don't have touch pads! Also, some portable computers have keyboards that are so small they make typing a chore. Be also careful with size exaggerations in the other direction. A "portable" computer with a huge screen isn't portable anymore! It looks nice in the showroom, but afterward it just turns into a boat anchor. You're better off with a separate external monitor, if you really need something big. (I've been working all day for years on a normal laptop screen of about 21cm x 28 cm, or 8x11 inches.)
5.3) Enough RAM, hard drive space, and network connectivity. The definition of "enough" changes often. Let's say these days if you use bloatware from Microsoft, you need a minimum of about 4 Gigabytes of RAM, and about 1 Terabyte of hard drive space. I don't think you can buy portable computers these days without a LAN card or a wireless connection, so you probably don't need to worry about network connectivity.
5.4) Other hardware options you might need. In theory, you can remove rarely-used things from a computer, and just add them externally and temporarily if ever you need them, like dial-up modems, internal CD-ROM/DVD/Blu-Ray drives, 3.5" diskettes, PC-Cards, etc. You can also make your computer much smaller by removing all kinds of connectors, like RS-232, parallel, RJ-45, various proprietary docking connectors, etc. I guess the more something is often used, the more sense it makes to buy it already included in your portable computer. Personally, I still currently prefer to have the keyboard and the main monitor integrated into my portable computer (a "laptop"), because I use them all the time. I still sometimes watch old-fashioned DVDs, so I still like an internal DVD player.
5.5) Hardware options you probably don't need. Many manufacturers try to attract buyers with gadgets: built-in webcams, fingerprint readers, fancy speakers, etc.
For software, you basically have a choice between the "Microsoft universe", the "Apple universe", the "Google (i.e. Android) universe", and the "Linux and Free Open-Source" universe (or FOSS). Currently, I recommend a Microsoft approach, but hope to eventually switch (see #9 below). You'll need the following software:
6.1) An operating system. Normally, when you buy your laptop, the operating system is already installed. (The operating system is, by definition, a kind of bridge between the hardware and the software worlds, so it has a tendency to be a bit "prisoner" of the hardware to which it is adapted.)
Which operating system is the best? As Churchill might have said, "Windows is the worst operating system, except for all the others". (And I know Macintosh and Linux fairly well.) These days I try to get downgraded to Windows 7 when I buy a new computer.
6.2) An office productivity suite. These days, you can get a "productivity suite" that will provide you with just about all the software you will ever need: a web browser, something for e-mail, a word processor, a spreadsheet, etc. I currently use Microsoft Office 2000, a very old version which does everything I need (and which still works under Windows 7, except for Outlook). Open Source equivalents are "Firefox" (web browser), "Thunderbird" (e-mail) and "Libre Office" (the rest of the productivity suite).
6.3) Maybe an anti-virus and a firewall. The world is unfortunately filled with nasty people who will try to break into your computer to take your money or damage everything. (It's worse in the "Microsoft universe".) A firewall is a kind of border guard that sits on your network connection: it tries to prevent un-authorized passage. An anti-virus is a bit like the macrophage cells which patrol inside your body: it snoops around to try to find "germs" to eat up.
I never liked anti-virus software, and my dislike is getting worse. Anti-viruses are normally expensive, slow down the computer, hog the network connection to get their daily virus description files, often scream "Wolf!" even though there's no threat, sometimes remain totally silent while you're being infected, often aren't even able to kill the "germs" they do detect, and are (for mere mortals) impossible to test (unlike a smoke detector, for example, under which you can light a small piece of string or something harmless that gives off smoke). So I'm leaning more and more toward a separation between my "pure" and my "impure" computers. (On 2016-Feb-15, I had been working without an anti-virus for several months already.)
6.4) No illegal copies of software (or music, or films, etc.). It's not because it's easy and quick to make an illegal copy of a file that we have a right to rob people! Thou shalt not steal. One of the many advantages of honesty is that if you buy all your software, you'll always have enough room on your hard drive, and you'll probably become more productive with the few legal programs you have (since you won't waste time with illegal software).
There are a few computer accessories you should buy, and some you might find useful:
7.1) Several "thumb drives", i.e. USB memory sticks for your backup copies. You need at least two, because one stays in your wallet, and the other at home. If your laptop is at home and your house burns down, you have your copy in your wallet. If you're on a trip with your laptop and everything gets stolen, you have your copy at home. Make backup copies at least once a week, with an identical content on all memory sticks!
The most important accessory: backup copies, in a ziploc, in your wallet.
7.2) An Internet Service Provider (ISP). Normally, you have to pay an ISP to connect to the Internet. In my opinion, a high-speed Internet connection is a luxury you can do without, if you just want to do e-mail and surf the Internet a bit. Moreover, a wireless router (which lets you walk around your house while remaining connected to the Internet) seems futile to me. But some Internet connection is necessary.
Your ISP will generally also provide you with an e-mail address. By the way, try to have an e-mail address that is complete and readable, like "email@example.com", and not something like "firstname.lastname@example.org", etc. Your e-mail address is the modern equivalent of a business card, so people have to be able to read your name! Moreover, when you get your "username", it's better to get also an "alias", and to only use your alias for e-mail. This will make it easier to change e-mail addresses when the spammers find you.
7.3) A surge protector. It's not expensive, and can protect you against damage caused by lightening, or the surges caused by Quebec Hydro. Careful, a surge protector isn't just a power strip with a fuse and several outlets. It must contain electronic components to protect the computer and the modem from voltage surges. In North America, a UPS (Uninterruptible Power Supply) is probably unnecessary, since your outlet will provide fairly high-quality electricity, and your computer battery will take over automatically during power outages.
7.4) Noise-suppressing stereo headphones. See The Porta-Chapel.
7.5) Maybe a mouse. On a trip, the touchpad is enough, but at home, several people (myself included) prefer a good old optical wireless external mouse.
7.6) Maybe a printer. I try to avoid printing as much as possible (it's expensive, the information is quickly out of date, it takes up space, etc.). I only print official documents that must be signed, or things we have to send and can't be e-mailed, etc. If you have a good friend who has a printer, you might avoid printers altogether. Prices for laser printers keep getting lower. Inkjet printers are currently a rip-off, unless you refill your cartridges yourself. I haven't yet found an honest and unbiased web site that gave the cost per sheet for all printer models (with a thorough cost estimate, including purchase cost, ink costs, maintenance costs, etc.). I currently prefer inkjets, they are cheap (if you print rarely like me), they can do color, and they can digest thin cardboard (so I can print out pre-cut business cards). Last time I bought one, I just walked into the store and took the least-expensive inkjet they had, and it still gets the job done, and still robs me everytime I buy a ink cartridge (so I stay away from paper copies).
7.7) A special computer bag is an invitation for thieves. Many people, after having spent a lot of money on a portable computer, buy a pretty little customized computer bag. I prefer a good daypack that is stylish, which not only doesn't attract the attention of robbers, but can contain in addition to the computer, things like your coat, your lunch, your Porta-Chapel, etc.
Before, I would go on the manufacturer's web site, configure my laptop, save the configuration and price to sleep on it, and also to show it to somebody smarter than myself, and the next day I go back on the site with my credit card and order the computer. Normally in less than a week I had the computer. I never had any problems. (You can also choose your configuration, then wait a few weeks for discounts. Sometimes it pays!)
Most of my most recent portable computers were just purchased at the local box store, because I'm starting to listen to my own advice.
Installing new hardware and software is no longer a problem (especially if you can borrow somebody's high-speed Internet connection to download all the stuff you need). The hard part (in my opinion) is first ripping out all the software junk that comes with your new computer. I always take several hours to perform this initial cleaning up. It makes the computer much faster to start up, clears up all the clutter on the screen (and the hard drive), simplifies daily use and maintenance, and reduces the chances of virus infections. Basically, remove everything you can!
The prices for new computers are now so low, that I recommend that you neither buy used nor non-portable, and especially not both used and non-portable!
I'd love to get rid of everything called "Microsoft". When I'll succeed in finding an "Open Source" version of Linux, and also of productivity software that lets me do roughly what I currently do with Microsoft Windows and Microsoft Office, I'll rush to tell you on this web site. I'd love to avoid giving my money to Bill Gates (he has enough already!). On the other hand, I have to earn a living with my computer, so things have to work.
For the past ten years or so, I would try Linux every 12 to 18 months. I should have taken notes, because I could have made a horror movie with my Linux anecdotes. But I must say that in general Linux is gradually improving, and my latest attempt has been by far the least painful. I managed to install everything almost without effort, and I even used my Linux computer at work for a week. Almost everything worked, almost normally. I eventually came back to Microsoft. Linux is still very slow, full of bugs, and Libre Office is even slower and more infested.
It's sad that Linux is basically a failure. After twenty-two years, and so many contributions by so many programmers from all over the world, the mountain has given birth to a mouse. Almost three hundred "distros" (incompatible flavors of Linux), each with several incompatible versions, and each version available with different "desktops" (Gnome, KDE, Xfce, etc.) themselves also mutually incompatible. What a computer Tower of Babel! What a museum of human stupidity! If Linux programmers converted to Jesus Christ, left aside their pride, and placed themselves under the orders of a good leader, Linux could soon trounce Apple, Microsoft, Google, Oracle, etc. Sad...
That being said, my USB memory sticks on which I keep my backup copies now are also bootable under Linux. It might be useful some day.
I am responsible for all errors contained in this advice. What good is in this advice can be largely traced to Mr. Gaétan Corneau and Mr. Bertrand S.).
Let's Adore Jesus-Eucharist! | Home >> Varia >> Software Engineering