What are some things that every computer user should learn? What things do you wish every computer user knew? What are some of the biggest benefits that individuals and/or society could reap if computer users learned these things?
Please boost, I honestly want as many serious answers as possible. Feel free to answer variations of the question for different levels of "computer users", such as programmers, office workers who use a computer 4+ hours per day, phone-only users, etc.
@willghatch Personally, I want people to know computers aren't magic. That programming isn't scarry, and spreadsheet formulas are programming. And that data can & should move between different programs/webservices, that people don't have to look themselves in.
- The text of the error message has to be communicated literally, as though it were a magic cipher, not metaphorically.
- It all runs on magic ciphers typed in plain text, and yes, you can understand them. It's magic, not incomprehensibility.
- Hitting keys at random is fine! Just write down what did what.
- Take Notes. On paper. (Every newbie I've met who did this, became proficient in every procedure they needed; even admins who don't, fail.)
- "Get me out of here!" is often handled by pressing esc. It means escape, and can be found on the top left.
- It's ok to type slowly!
@willghatch After lengthy consideration...
- How to navigate in whatever passes for a file manager on their own system, including tasks like finding files by name, renaming files, creating folders, and moving files around.
@willghatch This one is a *little* snarky, but in an age where everyone gets spam calls all the time, I genuinely wish that everyone knew that they can mute their phone's ringtone by pressing the <volume down> button without denying the call and letting the caller know that they are being screened.
The worst culprits are often people who need their ringtone to be at maximum setting so that they can hear it better.
@willghatch The documentation and man pages will not harm you, and in fact were written to help you. They might not be *as* friendly as you'd like, but you should Read The Friendly Manual first.
How to use SSH keys for authentication.
That by using the very simplest tools on a computer: a text editor and a web brower you can achieve 95% of everything you want to do.
That is to say it might not be the most efficient or best way but if you're still learning then don't worry too much about the more complicated stuff.
Shortcuts and time-saving tips can be picked up along the way.
Btw anyone can create a web page in a text editor in 5 minutes:
@willghatch How to use BCC in email.
And how not to quote the entire preceding thread of email in every damn reply.
@willghatch I wish people knew that whenever there's news about some company's customer database having been compromised it's not because hackers are so incomprehensibly smart that there's nothing a company could do. It's rather because the company doesn't give a shit (sorry, doesn't have economic incentive) about following even basic security practices and doesn't hire competent engineers to do it.
@isagalaev @willghatch I'm sure too many companies have negligent intent, but when an executive does want to do things properly do they really stand a chance? Insecurity by default is the norm, anyone running a company as a CEO not only needs to be capable of picking out a CISO, CTO, etc who defy the norms, but for those they bring in to take that norm breaking behaviour down to the engineer and procurement levels.
@willghatch 1. Computers are tools.
Tools are means to ends. Your computer (desktop, server, laptop, mobile, thermostat) serves _you_ and _your_ goals, though also probably its manufacturer(s), vendor(s), programmer(s), service provider(s), employer(s)/school(s), hacker(s), etc.
Knowing what your goals are, and how they relate to others, helps.
Front of mind should be _what do you want_.
Consider that other entities may not share (or may actively oppose) those goals.
@willghatch 2. Computers are an _entirely constructed_ reality.
Everything in a computer was created, generally by a person (though AI-based programming and design are becoming more commmon). Generally those creators have had goals (see #1), though also limitations.
Understanding a computer usually means understaning other people's thought processes, goals, motiviations, and limitations.
This also means there's almost nothing about computers that's "natural" or "necessary".
@willghatch A thing on a computer that is one way _does not have to be that way_, it can be some other way.
White backgrounds can be made black (or red or green or...), squares can be made circles (or triangles or squiggly lines or...), text can be made speech.
What they _are_ and what they _might be_ depends on goals, abilities, tools, and usefulness. The flexibility is powerful but can also be a trap if you spend too much time fiddling with it.
@willghatch 3. Computers rely on stored information that's both durable and fragile.
Any information on a computer is stored as a record... somewhere. Locally or remotely, in your device or across others.
That information can be copied and transmitted easily, which may or may not be what you want. Multiple copies may exist, which is helpful against accidental loss, but harmful when others get access in ways you don't want or expect.
Flash, memory, disk, files, cloud, are all data stores.
@willghatch 4. There are different levels of computer knowledge.
These can be divided roughly into _using_ a computer for a specific task, _troubleshooting_ to figure out what went wrong, _maintaining_ a system over time, _programming_ it to have new capabilities, and _desiging_ new computer hardware.
Each of these has multiple levels
of ability. _Some_ knowlege across all levels will make computers more understandable and useful to you.
Even many experienced users only know "using".
@willghatch 5. The parts of a computer you see are only a small part of how it all works.
The physical product, controls, display, speakers, etc., are how you and the computer interact -- the "user interface" (UX). Think of those like handles on a bag or door, guages and instruments and controls on a car, or an elevator panel. These let you tell the computer what you want, and it tell you what you're doing.
But the interface isn't _what the computer is_, only _how you experience it_.
@willghatch UI is part of that engineered experience mentioned above, and there's little natural, or inevitable, or instinctive about it or using it.
People who know how to use interfaces *have learned them*, often by being trained.
Even very commonplace interfaces can be confusing to first-time users:
A UI makes assumptions about goals and understanding, and has limitations from devices, programmers, size, and controls. The UI is not reality but a representation.
@willghatch 6. Many digital devices are are constantly communicating with other devices, near or far.
They usually do this over a network, often radio, though wires and other methods can be used.
Much of that information has little to do with what you directly see or hear on the device, though that also often crosses a network.
Networks bridge distance, and make far things near. This means not only what comes to your device but what is sent from it. That information has unseen effects.
@willghatch The amount, detail, frequency, and number of other entities --- companies, organisations, systems -- this is shared with are simply not realised by most people.
The information may concern not only you but those either immediately around you or that you've interacted with online.
It can survive for years or decades, be shared many times, and be used in ways you have no idea of. Often completely legally.
This means consequences are hard to predict, but can be very bad things.
@willghatch Almost all cheap or low-cost, or popular mainstream computer, mobile, or appliance products, apps, websites, services, etc., include a huge element of data capture, called "surviellance capitalism".
Surveillance capitalism is a hidden and long-term cost of these systems.
@willghatch 7. Though we call them "computers", much of what computers do involves _communications_. You might think of them instead as "communicators".
Text, sound, speech, pictures, video, data, and software (apps, programs, scripts, games) are all forms of communication, sent to or from your device.
Inputs are received, stored or retrieved locally or remotely, processed or transformed, and sent as output. Over networks, but also to/from keyboards, displays, mics, speakers, cameras,.
@willghatch 8. There are tools you can use to work with different forms of information. You can generally devide these into:
These apply to text, data, pictures, sound, video, and software.
There's a concept called "CRUD" that describes a data lifecycle: "Create, Read, Update, Delete". (Send and receive might be added.)
These describe most computer applications, programs, and processes. They're involved with some interaction with data.
@willghatch "Capture" is usually some sort of recorder or camera. It can be an editor (for text), or a data logger or capture device. A blood-pressure monitor, or thermostat, or voltage sensor, is a recorder.
For text, there's often little difference betwen "capture" and "modify", both happening through an editor, though remote or automated text may be captured by other means.
"Modify" means to change information. You can add to, subtract from, copy, move, or transform content.
@willghatch If a person is directly manipulating data, we usually call that an "editor" -- text editor, sound editor, video editor, image editor. "Data editor" isn't often used, but "spreadsheet" is effectively that: Microsoft Excel, Libreoffice Numbers, and the like.
It's also possible to convert content automatically or programmatically, via a program. Some are simple or limited -- converting a riipped CD to an MP3, resizing a picture, or converting between text formats.
@willghatch Some conversions are complex and flexible, and the user can either configure settings or program in specific changes to occur.
This gets to programming, which we'll cover later, but is a form of "modify" you will see and can do.
"Playing" generally means just accessing content, without modifying it. You might think of this as a form of conversion which makes computer-readable data sensible to you: text on a screen, sound on a speaker, images or video on a screen.
@willghatch Playback usually doesn't let you _change_ the content, though you may be able to control how it is presented -- skipping forward or back, louder/softer, faster/slower, brighter/darker, etc.
Text players are often called "readers" or "browsers": PDF reader, Web browser, eBook reader.
Again, editors can be used to play back -- opening and reading (but not changing) a Microsoft Word file, say. But a simple reader won't change the underlying content.
@willghatch "Sending" content is how you get it to someone else.
This usually involves two parts:
1. Telling where to send something.
2. Sending it.
The first part is usually called "addressing", similar to addressing a postal letter. The second "transmission", as in a radio or TV broadcast.
"Dialing a number" is a way of indicating a receiver. Phone and messaging apps have a dial or addressing feature.
Sometimes the _receiver_ requests information. A Web browser does this.
@willghatch And there are tools (programs, apps, utilities) which can be used to directly communicate between systems.
Selecting the printer you want to print to is a form of addressing.
Adding an RSS feed to a newsreader is a form of request-based addressing.
With the address telling where to send (or request) information from, you then _transmit_ it, usually via some set of _protocols_, which I'll get to. These concern both the process and content itself.
@willghatch 9. I've used (or will) the terms "data", "information", "records", "content", "transmission", and "stream" among others. These are all mostly equivalent and interchangable. They refer to what your computer creates, reads, updates, deletes, transmits, and receives.
Information at rest is a _record_, in motion is a _transmission_ or _stream_.
A _data format_ gives meaning to an otherwise unintelligible string of ones and zeros, it's what makes text, images, audio, video, etc.
@willghatch A "format" for _sending_ data is called a _protocol_, and provides additional _control information_ over what is being requested, how, by whom, and other information.
Formats and protocols are simply agreements on how to say or do things. They make computers and the Internet possible.
The Internet itself is _defined as_ a set of protocols for exchanging information starting with the Internet Protocol (IP) itself. "TCP" is the transmission control protocol", together: TCP/IP.
@willghatch By agreeing on how to say things, and how to communicate them, _interaction_ between many different parts and systems is possible.
Another format/protocol pairing you may have heard of is HTML and HTTP.
HTML is a _format_ for indicating structure of text, the HyperText Markup Language.
HTTP is a _protocol_ for requesting and responding to information requests _of_ hypertext, the HyperText Transmission Protocol.
"Hypertext" is a fancy name for interlinked documents.
@willghatch There's more to it than that (as there is of all the concepts I'm discussing), but the basics are:
- Hypertext contains _references_ to other documents. Those are URLs or URIs: Universal Resource Locators (or Identifiers).
- As well as suggestions ("markup") to the _reader_ (which we call a browser) on how to _format_ and _render_ the document.
- Which are a "language" for telling software and computers what the author intended.
- "Transmitted" between computers (usually).
@willghatch Over the years and decades other parts have been added to HTML and HTTP which give us the modern Web. This form of additive enhancement is typical, usually with some core capability remaining in place, and new or additional elements added. Sometimes parts are removed or simplified.
- Image, audio, and video _formats_ added to basic text.
- Additional _formatting_ capabilities added to HTML.
- A whole _styling_ language: "CSS".
@willghatch - Security and privacy capabilities: SSL and TLS.
And more. Again, this is an overview, though a longish one. I'm skipping over much, but trying to point out the highlights.
The key idea is that you can start with a _basic system_ and build it up with _additional capabilities_ to create a much more capable, powerful, and useful set of tools, though the original ideas remain.
Sometimes we scrap entire tools entirely or go back to simpler or nonproprietary methods.
@willghatch 10. Identity.
You computer does NOT know who you are. And for most devices (smartphones, laptops, desktops, websites), there are multiple "yous" which are understood by different elements -- computers, apps, sites, systems, networks.
Unfortunately this is a bit of a mess, dates back to the early 1960s, and can have very serious consequences.
"Who are you?" is the most expensive question in information technology, and no matter how it is interpreted wrongly, you're fucked.
@willghatch In the physical world, identity _can_ be complicated, but is usually fairly straightforward.
You can only be in one place at one time.
Getting somewhere else takes time and work. And much more with greater distance.
Simply _being there_ gives a high level of detail: height, age, apparent gender, weight, bearing, language and acccent, clothes. We're sending off all kinds of _local, immediate_ signals.
We have _credentials_ such as ID cards/badges, licences, passports.
@willghatch Very often, _specific_ identity does not matter. If you're standing at a store or stall, cash in hand, with your purchases sitting on the counter, the cashier has _no need_ to determine precisely who you are.
They add up your purchases, tell you the total, you pay and collect your items.
Meeting face-to-face with friends, family, and colleagues, your identity is immediately known and apparent.
You can't _help_ revealing this information. At the same time, it stays there.
@willghatch With computers, the situation is more complicated.
Despite the _ability_ to transmit information quickly, often in volume, and cheaply, _only information specifically exchanged between systems is available_.
Sometime's that's more than you're aware of or intended, sometimes it's less.
So when a message appears "I'm in trouble, send money, Your Close Friend", it's not immediately obvious whether or not this actually is Your Close Friend or some Evil Person attempting fraud.
@willghatch And, as noted, _whichever way you get this wrong_, you've done something bad.
If it is an Evil Person and you send money -- you've been scammed.
If it is Your Close Friend and you don't help -- they've been harmed.
The same problem exists _every time you log on to a computer or website_. Determining that it really is you, is hard. Letting the wrong person access your account is bad. Locking you out of your own account is bad.
And resolving either problem is hard.
@willghatch Passwords are the method that have been used since first created in the early 1960s, for one of the first multi-user computer systems, when there were only a handful of computers in the world, and to use them you had to go to where the computer was, in person.
This means that several of the problems modern online identity deals with, most especially the fact that anybody can be anywhere instantly, didn't exist.
60 years later the solution works poorly.
@willghatch There is no good and widespread solution, yet, though it will probably involve something you have or carry that can help confirm your identity, isn't easily duplicated, and can be replaced if lost, broken, or stolen.
But the key point to remember is that at any given moment:
- Many people may be trying to claim that they are you, elsewhere.
- Many people may be claiming to be other people or companies, to you.
Proving _either_ who you OR the other party is, is hard.
@willghatch 11. Most people can't use computers very well.
Like _really_ not very well.
A 2016 OECD study finds that 2/3 of all people in _industrialised_ countries have "poor", "below poor", or NO computer skills at all.
About 5-8% _or less_ can make highly productive use of computers.
This has several consequences:
- If you're not good with computers, you have PLENTY of company.
- This is a learned skill.
- Computer and software vendors build for the bottom.
@willghatch That 5-8% by the way is _not_ talking about programmers, network engineers, and systems administrators, but just basically skilled users of spreadsheets and word-processing programs.
I've called this problem the Tyranny of the Minimum Viable User:
It's frustrating for me as an advanced user, because systems that do what I want are hard to find.
It's frustrating for most people because computers are complex, confusing, and frustrating.
Each is valid.
@willghatch If you're a typical user, know that:
- This isn't your fault.
- You may be able to learn how to better use systems.
- Many systems are badly designed.
- Training _everyone_ on _everything_ probably won't work.
- Systems used by many people won't be very flexible or powerful.
- These problems impact other issues mentioned previously about data, identity, fraud, and more.
One result is to build systems that do only one thing, and don't share or exchange data outside of that.
@willghatch This avoids some problems, but creates others. Information entered by you, or captured about you, in these systems, isn't easily available to you. This means you can't use it for goals you have that the system's designers don't.
And at the same time, they probably are using your information in ways that help them but hurt you.
The useful part is that _other_ apps can't access that information easily, which us usually a good thing.
@willghatch 12. There are several wars being fought on most of your digital devices, and you are losing most of them.
The wars are being fought for:
- Your time.
- Your attention.
- Your money.
- Your data.
- Your decisions and influence.
- Your device's capabilities.
In any competitive landscape, different parties fight over what's available. The world of Android or iOS smartphones, Windows and Mac laptops and desktops, the Web, shopping, communications, and data, is a battlefield.
@willghatch Apps / applications, programmes, games, browser toolbars and addons, are all competing for your time. There are only 24 hours in a day, time spend doing one thing is NOT spent doing others, and there is a very sharp fall-off in how much time is spent as popularity declines, even among a small number (2-10) choices, called a "Power Law" distribution.
This means there is a small number of top slots, personally and across the entire user population. The size of the pie is fixed.
@willghatch What apps you choose to install, what websites you visits, what social networks you use, what news sources you receive, who you talk to, where you spend money, who you vote for, are all factors software, system, and app developers are interested in.
And especially where and how you spend money.
It's not just conscious choices -- they try to sneak onto your systems, into your awareness, or even manipulate or track you without you knowing about it.
You can't fight this alone.
@willghatch Yes, there are tools and steps you can take which are at least partially effective. And if you want to look into those, I encourage you.
But the bigger problem is that this is normal. That it is (usually) legal. That it is allowed. That it is expected. That it is considered ok.
And that's the real problem here.
There are new privacy laws -- GDPR in Europe, CCPA in California, others elsewhere.
There are groups fighting for privacy: the EFF, EPIC, ACLU, Privacy Int'l.
@willghatch Ultimately this is a political fight, and one that's going to involve campaigning, lobying, lawsuits, and criminal prosecutions, to change standard practices.
Even if you don't feel you're directly affected (and you are), there are others who VERY MUCH are, and who lack the means or voice to fight. Helping them is a good thing in itself.
And yes, there are some technical steps you can take to improve your online privacy and security.
@willghatch You can also raise this issue with:
- Your local, state/provincial, and national representatives.
- Government consumer protection offices -- usually the state's attorney or attorney general and industry regulators.
- The news, press, and watchdog organisations.
More attention is better.
Keep in mind that many regulators are strongly influenced by the companies they are supposed to regulate, a concept called "capture". They may not be as helpful as you'd like, but do act.
@willghatch 13. Steps you can take to improve your privacy.
I'm going to point at a very good source, the Electronic Frontiers Foundation (EFF), Surveillance Self Defense 2019.
Information changes quickly, this is complicated.
Some general principles:
- Be aware of the issue and risks.
- Offline matters.
- Say "No" to requests.
- Choose your tools if possible: devices, operating systems, apps, services, networking gear and settings.
- Update your systems.
@willghatch Again, this isn't sufficient, doesn't protect everyone, leaves many who _cannot_ or _are unable_ to act at risk.
But it is at least a positive step to take.
And yes, there's a positive side to computers....
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!