How often computers consume your priceless time? Here I'm sharing rules which made my hardware reliable and software blazing fast.
We can't without machines in our days, as we'll loose competitive ability. I believe people don't notice they're becoming machines' slaves. We constantly struggle with errors, force through unhandy interfaces, click like buttons and spend too much of our lives serving IT systems. As a freelancer in IT, I'm working with computers a lot, and I can't be unproductive when dealing with them. So, through the last years of my work, I've created a number of rules for myself.
To decide, if these rules apply to you, first answer the question "who am I"?
Which type of user are you?
This determines how much you have to dive into technical IT world. If you're of last 2 types - you don't have to read further. For "typical system administrator" diving into software and hardware is an end in itself. Amateur needs the computer to just switch on and work as expected. But professional pays some price to receive some value out of it and to promote forward.
I did my way from amateur to professional through a computer fan stage, and now striving to concentrate on professionalism. This requires to break some stereotypes.
Which foundations a professional can establish?
- Time costs more than money. If some money can free me of extra or distracting work, I'll be glad to spend it.
- Hardware equals money. If it doesn't work, just throw out it ruthlessly. Yes, I like fancy technical items, but my goals mean much more to me.
- Don't be scared of new ways, if they may bring your value. We're not conservatives, are we?
Let's get to the rules:
1. Use only reliable hardwire
- Buy only the most reliable hardwire.
- You can buy used hardware, but only mainstream: the most known models, which are used by the biggest number of people.
- Don't buy NoName items from China.
- Better overpay to gain reliability, it will pay for itself.
- Invest your time to investigate (e.g. read forums) for downsides of particular model you want to buy. Ask on forums about reliability. But don't overthink it - all models have some % of failure.
- Get business-class hardware instead of gaming of fancy-looking hardware.
- Buy new HDDs only, as their resource is limited.
This is simple: you need to work, and you don't need your hardware to break suddenly or misbehave all the time. Examples from my life:
- New tablet from 3Q (some Russian company, closed recently) — became afunctional because of hardware bug.
- New Lenovo ThinkPad laptop, with rare graphics card by Nvidia: started giving glitches up to complete malfunction. When it became obvious, free exchange period has already been expired.
- Used Nexus One phone - worked ideally for many years.
- Used Galaxy Note III phone - works ideally till now (not taking a stylus bug into account, as it's not critical for me).
- Used HP EliteBook 8460p laptop - works ideally, I've been through rough times with it, successfully.
2. Use one device per goal
- Laptop for management & business tasks.
- Smartphone for calls, social networks and applications.
- Simple phone for calls.
- Computer/console for games.
- Player for listening to music in the morning (so you can do morning exercises instead of fixing malfunctioning WiFi).
And software developers also need:
- Computer for development.
- Computer for testing.
- Smartphone for testing.
- Server for testing.
- Server for backups.
It always costs less to use another hardware item than spend time resolving conflicts between software you need, suffering from insufficient resources, lags and hangs, wrestle with virtual machines (they're NOT convenient for professional use!). One of your devices may require resetting to factory settings, another may just become broken. "One size - one task" approach will lower maintenance costs and increase reliability.
3. Don't restrict yourself with hardware resources!
- Buy more RAM. It's not as expensive as your time and nerves. This will become obvious at the height of work, when you'll have lots of apps opened on your computer.
- Use SSD, biggest one you can get. Lots of simultaneously running software may create heavy disk load, and with SSD you'll get competitive advantage. Sudden hang of your system and subsequent OS reboot won't take too much of your time & nerves too.
4. Just collect more hardware!
- Don't try to fix a software issue with your computer - first check it on another device.
- Own different versions of software, which do same tasks, including same versions of software installed on multiple devices.
- Keep excessive amount of hardware. If someone suggests you cut-price items, better buy them, so you won't regret later.
- Don't keep malfunctioning hardware - mark it with big bold caption like BROKEN or UNRELIABLE, or better just throw it away.
- Donate hardware items you don't need anymore to your friends - there're always someone who wants and needs it.
5. Reduce the number of wires
...and keep those you have in order.
Note that wireless connections work worse. WiFi is always slower than wire-based Ethernet. Bluetooth handset is less reliable than wired one. Until you tear the wire. They're always annoying and creating mess. At least wireless mouse will save your nerves, especially if you're mobile.
6. Buy best batteries and keep excessive amount of them
Your above-mentioned wireless mouse will stop working that very moment you approach your limits and will be about to miss deadlines. And you won't be happy to run away and search for storehouse nearby.
7. Use only default settings
It's always better to retrain than to adjust your settings many times. One exception: a software you use professionally and a lot of time.
You will install your software to other devices, reinstall, update (and old settings may become wasted that moment). You don't need extra problems with it.
8. Use only mainstream software
When choosing software, check how many people are using this software.
- Photoshop is better than Gimp, if you can afford it.
- Linux Desktop: only the most standard Ubuntu is feasible, and it should be LTS (Long-Term Support, the most stable and most long-lasting release).
- Virtual machines — only leaders for the particular platform:
- Windows — only VMWare
- Linux — only VirtualBox
- Mac — Paralles
9. Never install new-built mission-critical software or OS
At least, wait few months before they release hot fixes. Developers played a lot and proud of their results, everyone talks about new OS and wearing t-shirts with it's logo, but your business shouldn't suffer because of that.
10. Never install system software with doubtful reputation
Especially complex system software such as antiviruses. And drivers for devices you don't use.
- Kaspersky Antivirus (I remember it making the whole system slow and causing many diverse issues, up to certain websites malfunction).
- Acronis and similar excessivenesses.
- Linux Kernel patches, which are not well-known or mainstream. Self-configured kernels.
- A driver for your TV-tuner, which you'll never use.
All antiviruses will make your system slow. I'm lucky: in my work Linux is enough, and I don't need antivirus. In case of Windows - you better invest your time to study computer hygiene, i.e. teach yourself not to install software from suspicious sources.
11. Never enable automatic updates for OSes and software
Ubuntu Linux installs updates rather quickly, without reboots, and they've never broken anything according to my memory. Meanwhile, in Windows of different versions update may make your computer dysfunctional for entire day, or even forever. System should never do anything without user being aware of it which may disrupt his work. It also shouldn't consume resources when you work.
If you use high-quality products (such as Telegram messenger), you may expect no problems from updates. Noting that they update server part regularly, which you can't prevent. But if it's about your business, not about Saturday evening conversation with your mother, you better don't do that anyway.
Better limit frequency of updates on your personal computers. Once a day or even once a week is too much, and it will disrupt your concentration just for serving dialog windows like "do you want to update?", "please authorize", "please reboot" and "oops, something gone wrong".
12. If you update your system or critical software, allocate 2-3 days for this process
You'll spend them to resolve issues of the new system. And to compensate features removed from in new release, or malfunctioning in new release.
13. Don't keep software you don't need on your computer or smartphone
Check the full list of installed software. If in doubt - uninstall.
14. Proprietary is better than opensource analogues
Never believe if someone says "you don't need to pay, there's an opensource analog!". There's a lot of good opensource software, but NOT for every task you need.
One of the main things done by Richard Stallman and GNU project is rewriting proprietary software from scratch. They've done enormous amount of work and brought enormous benefits to everyone, but well-financed company can create much more convenient products in some areas. Why? Enthusiasts are mighty, but they may have no interest in improving interfaces to ideal condition. And, I guess, there're more programmers than usability specialists among them.
- LibreOffice is enough for me. I guess Microsoft Office is better for professional use, but it won't make difference for 95% of people.
- Gimp is small and lightweight, it's enough for most of my tasks. Photoshop has a lot of features, it's more stable and it's faster (because of better optimized algorithms).
- 7zip - is a full replacement for WinRAR.
- Thunderbird - I use it for several years, it works ok.
- Inkscape - I use it sometimes, and this is canonical editor for vector SVG graphics (HTML5 standard), but it's too simple, and won't replace professional packages for designers.
- 3D Max and Blender - different levels, while people do amazing things with Blender too.
15. Keep multiple apps, which can perform same tasks
Keep them ready. There're data-dependent bugs in software. If you've created video which you best editor is not able to open anymore, and you have to publish it 10 minutes ago, you can:
- Open it in a different editor.
- Open in in the same editor, but from different machine.
...and finally finish your work.
16. Never play classical computer games
They take too much effort to install, while you just wanted to play for couple of hours. See below for details.
17. Use you keyboard everywhere you can
It's many times faster than mouse. Ability to use all 10 fingers is an extra advantage. If your software is not optimized for keyboard input, it's a sign it's not good enough for you.
18. Don't hasten to adopt new software or hardware which someone suggests you
Is it able to make value for you? You shouldn't spend time arguing about it, it's that guy's job. By the way, his style of work can differ from yours, so the software may be inconvenient for you.
19. If your boss decides to bring in knowingly counterproductive instrument - just quit your job
Some of chiefs think "they'll growl for some time, and then will get used to it". And they do. And after that they work inefficiently, as no one thought about the quality of the software.
Once I worked for a company, where new owners decided to adopt 1C-Bitrix corporate portal (this is Russia-specific product, they even have a programming language based on Russian vocabulary). And our development team was much more advanced than that, using newer, world-known flexible instruments. This is the case when self-reliance works: switched to freelance - became productive.
20. Throw away collective illusions
Remember: people around you, chiefs, colleagues, are inefficient in a number of fields a priori. Absolutely everyone has white spots. Delusions may spread among community and unconsciously become a norm.
Once you adopt new & advanced methods, you have to prove you're right, and also later you'll have to teach others.
21. Experience exchange is extremely productive
Once people are predisposed to learn from each other and improve themselves, experience exchanging may be extremely useful. If you don't see such people around you - you have to invest your time to find them.
22. You better pass IT to others who like it
Why you have to do the job others want much more? Maybe they really want it! IT is breathtaking, but getting in charge of everything, you'll make it dull routine. Better pass the job to others, and start searching for bottlenecks in your project instead.
Some specific cases
"Serious" games are hard to install very often. They can take half of day to install, especially if they're not so new, and your operating system have progressed few versions forward.
Once I fell in love with Oblivion. And I had to pass a long way to, finally, gain pleasure from playing it:
- First I installed it & tried with integrated graphics card. Dungeons were extremely slow (even after I tweaked settings and switched off add-ons).
- Then I bought a better graphics card.
- It happened to be a defective one. I returned it, and bought another one.
- While trying to play, I restarted it 999 times, since developers were in a hurry when making Oblivion, and it crashes extremely often. And graphics card still weren't enough.
- Finally I stopped my attempts to play it.
- 2 years passed.
- Then I've found a stability-oriented assembly of Oblivion, and installed it on SSD, which gave me a chance not to fall into a frenzy, as frequent restarts became much quicker. Only then I've got what I wanted.
Too much for a few days of fun, huh?
Also I remember a typical scenario, when you decide to play with your friends by local network... one creates server, another starts client - it's SO simple, and somehow it never works. You usually spend that entire day in attempt of getting it work. Last time I just used my Linux administrator's for it - just installed MineCraft server on external VPS, and it was the quickest solution.
I've done backups of my OS and software any times, and never restored them. It's always more reliable to install OS from scratch, so you better stick to "always use default configurations" method.
There's a software called Acronis. And it never works, as it's an example of a very instable software. I worked in Parallels many years ago, and I remember what Sergei Belousov, CEO of Parallels & the main investor of Acronis, said about quality: "Your work is hard, because a virtual machine should always work. If it crashes, clients notice it. Acronis may not work, and no one notice, as people never restore backups." I expect this position is still the heart of the company's values: bad quality won't affect sales at all. As a user, I've tried it from time to time for 6 years (2010-2016) and quality hasn't become better. My last 2 tries failed: it has completed a backup, but it hasn't been able to restore anything! (sic!)
Data backups are completely different story. I have self-written scripts on Ubuntu Desktop, and I use Duplicity for servers, which can do amazing incremental backups. Not sure if it's reliable enough, as I've restored backups from it only 2-3 times. But that 2-3 times it worked very well. They say there's also Duplicati, which is a cross-platform clone of Duplicity, and it can be used on Windows.
Can you suggest good solution for Windows? Or best high-quality solution for Linux? I'm interested in incremental data backups where you save each day's state space-efficiently (doing full backups, e.g. every few months, to reduce chances of entire archive corruption), maximally reliable and maximally suitable to automatize. Please share your thoughts and your practical experience, I'll be happy to see your comments below the article!
Social networks, messengers, mobile phones
I disable maximum of possible notifications from apps and social networks. I open them only when I need it and I have time for it. Same happens to mobile phones and messengers. There're not so many people which you really need to communicate to in real-time manner. They exist, and they're your close team, which should have communication culture, and be open to discuss personal habits. For others, there's a simple rule: "don't call me, I'll call myself".
I recommend the "Pomodoro Technique". It's a personal time management system, and together with the other tricks, it encourages you to turn off any communications while you're working. All communications are moved to a specially allocated time slot!
Also I recommend "Focus" by Leo Babauta - just for you to realize how vast and devastating effect of constantly occurring distraction prevents you from doing what you really need.
Software as a part of my life
I often use diverse software to organize my life (of which I may write later). Sometimes - paid, sometimes - my own software, sometimes other innovative.
My experience says that:
- We often use our software in nonoptimal way, or we use wrong software for our goal. It makes sense to watch more educational videos, and discuss it with your friends, who are doing similar tasks with similar software.
- Seeing the same picture constantly is annoying for your brain. It's impossible to track every aspect of your life, solve diverse problems, with the help of only one application. Even it's so innovative that it can do everything you need.
Sometimes I switch to paper and pencil: it can be very, very efficient instrument. Sometimes - to discussions with live people. Sometimes it's priceless to stay for a few days without any computers nearby, to work in a novel environment or travel, so you change your state of mind. Such changes bring unexpectedly amazing results.
I've listed a full list of rules I use myself, as an active user and as a software developer. I hope it will help some of my readers to become more productive: to spend less time serving computers leaving time for creation.
What would YOU say? Which of these rules you like, and which you don't feel like to adopt? Maybe you have your secrets, or some core concepts are different from my vision? Please add your comments under this article, we obviously will be able to help each other. :)