I hope in a decade, distribution shifts greatly to more computer literacy.. I get so tilted just thinking about things like... oh why browsers dont have regex search by default... it's because majority of people don't know regex.
I accidentally put a friend of mine off Wikipedia a few years ago by using Ctrl+F on it in front of her. She assumed it was a feature of the website, not of the browser, and thought it looked too complicated.
In Firefox it's called "Find", not "Search". I think this is a better name because it distinguishes it from web searches, which most people will think of when you say "search".
Why should the majority of people know regex? It sacrifices all clarity for extreme compactness, and the vast majority of users don't need its power. I'd love to see more powerful, versatile searches generally available--booleans, date ranges, so on and so forth--but regex is ridiculous overkill for most people's use cases.
I think this is one of the major stumbling blocks for computer literacy efforts--too many proponents define "literacy" not as "useful, applicable skills" but "the exact tools that I'm familiar with, and nothing else." Elsewhere in this thread there's people saying that command line skills are necessary to understand concepts like "files" and "programs".
> I'd love to see more powerful, versatile searches generally available--booleans, date ranges, so on and so forth--but regex is ridiculous overkill for most people's use cases.
To do that you're going to reinvent regex, usually with a clunkier interface that has to be re-implemented everywhere. Or you'll come up with a text based system like google, which is again it's own domain specific language.
Edit - in fact, I just remembered we have such a tool where I work. Because the support folks were deemed to be too stupid to learn regex we created a custom "language" that turned out to be a bastardized, dumbed down version of them. Instead of the support staff learning a skill for life, they only learn our abomination.
> Or you'll come up with a text based system like google, which is again it's own domain specific language.
I was thinking of Google's system specifically, yes.
I use regex a lot. It's extremely powerful, and when you really need it then nothing else will do. It's also phenomenally obtuse, it takes a real time investment to become fluent in it, and 95% of users will never need its power.
People aren't ignorant of regex because they're stupid or uneducated. They're ignorant of regex because they don't need it. They wouldn't use it if they had access to it, because they have better things to do with their time. They'll get more done if you give them a tool whose power-to-usability balance is actually suited to their needs.
Regarding your support staff, perhaps they did in fact need regex despite that decision, or perhaps your custom language was not the right choice for their needs. That doesn't mean that the typical user has any use for regex.
To make matters worse, most programmers don't really know regex well enough to use it without reference, and even if they think they do, they probably don't know the problem domain or the nature of their regex to get it bug-free. See basically all attempts at parsing email addresses in regex for an example of this.
Then you have the gotchas... E.g. most implementations have performance issues in many scenarios, leading to situations like when SO went down a few months ago.
Regex is actually a pretty good example. I think something like 99.9% of people get bitten by it. I'm using them for like 10 years and I rarely get the more complex ones working on the first try - not just because of the incosistencies between Perl, Js, .NET, sed, shell (extra escapes) and Python, but also stuff like look ahead/behinds or just plain logical errors which are pretty hard to spot
I'm not so sure the next generation is going to be significantly more computer literate. With the trend towards curated devices (read: smart phones and tablets) general purpose computer skills are being pushed back into the niche they used to occupy in decades past.
And certain areas in tech are harder to enter too. Web-dev a decade ago was easy to start, now every site you might be familiar with when starting out uses the RIDICULOUS_OVERKILL.js framework, SASS/LESS because CSS is for amateurs!, OBSCURE backend and THIS_WEEK's database. Plus npm and these 600 plugins to make development "easier".
Makes spaghetti php of bygone years look like lesson in modernism.
That doesn't necessarily follow. Cars are much more important now than in the 1940s. OTOH, "motor literacy"—in the sense of knowing how cars worked and being able to keep them running—might have been a lot more common back then.
That's an excellent insight, actually! A century ago, cars were fairly simple devices which required skill to start and operate. These days they are highly complex and hide their complexity nicely behind a dashboard. Once the abstraction leaks, however slightly, we call the pros. Or at least I do.
Computer technology follows the same trajectory because most people purchase technology for solving tasks, not because they have a craving for complexity. So "computer literacy" is about as important to society as "motor literacy".
Common sense is as important as ever, though. I.e. having a repository of background knowledge to be able to detect bullshit, fake news, and propaganda on the internet. That's the kind of old school literacy that we need.
It might be some kind of bias but I have always felt like when it comes to cars average Joe is at least capable of changing a tire, but when it comes to computers the very same person does not even seem to try.
Changing a tire takes some elbow grease, but the nature of the problem and the steps involved in the task are all pretty obvious. It might take 20 minutes or a half hour if the lugs are really tight, but you can grasp the whole problem in just a few seconds' thought.
Little if anything to do with computers manages to be so intuitive.
Young people today were brought up on tablets and web apps, they know less about how computers work than people bought up 20 years ago (assuming they had computer access).
But why should they need to? I don't know how my car works, but I drive. I don't know how my camera works, but I use it. I don't know how my TV works, but I use it.
You're just old, complaining about how times have changed.
That's an excellent example of how computer literacy could improve things. People manage their cameras and photo libraries with whatever godawful software comes with their camera or OEM laptop. When they get a new phone/laptop with different software they have to learn from scratch.
If the new what files and folders were they could just navigate to the directory and copy the files, maybe even do it from the cli that they could then script, saving themselves some future effort. But instead of expecting them to learn something moderately difficult (ie, something we can teach 1st graders) we pander to them and make them learn something just as difficult several times over. It's not surprising people switch off and don't want to learn.
> I don't know how my car works
I think you've vastly underestimating how much you know about cars and how much of that operating knowledge you need every single time you drive it. Everything from requiring petrol to what happens when you push the brake pedal to the road rules. In fact, I bet you could even tell me some road rules from places you've never visited.
You might not know the details of how an internal combustion engine works, but I'm not suggesting most people should learn the inner details of how a cpu or hard disk works, just to learn how to drive their machine.
I know, in theory, how to build and service an internal combustion engine. I just don't want to pry my arse out of my comfy chair and get my hands dirty. Also, I don't own the necessary tools, because I don't find IC engines to be remunerative or fun.
So I have never done much more than swap a flat tire for a spare, as a field repair. Why then do I get so pissed off when my regular mechanic tells me that a certain repair can only be done at a dealership? I wasn't going to do it myself anyway.
Because it means that I can't turn off the "check engine light", which sends my spouse spinning off into a fantasyland wherein the car violently explodes upon reaching 50 mph, or abruptly shuts down on a dark desert highway in the middle of a war between goblins and elves. Meanwhile, the "check engine light" in my daily driver has been on continuously for more than a year, because I know what the problem is, that it isn't serious, and that repairing it would be more expensive than just ignoring it until gas prices rise above $4/gal, or until it can be added on to another repair that would already require putting it up on a lift and dropping out the gas tank.
A computer does not have a "check engine light". It has an authentic-looking popup that says "Your computer is infected! Click here to download and install the Definitely-Not-a-Malware Toolbar to fix it. (And there's no need to bother your tech-savvy friend about this one....)"
Why would anyone need a bespoke command line program to manage photos in 2016? I'm really confused by what problem you think people have that they themselves don't think they have.
Pandering because they're not interested in your hobby? What type of arrogance is this? You could make this same argument about literally anything.
Look. At the start your lamenting that people don't write their own programs instead "godawful" OEM software, that they know how to use because they do use it. Then in the second part, you say that it's cool to not know how an internal combustion engine works, because I know how to drive. That's shifting the bar. They are as you say, "driving their machine" by using the "godawful" OEM software. They're solving their need. Why can't you just respect that?
Because that's what this whole article is discussing: computer skills.
Your examples reference appliances; cars drive, cameras take pictures, TVs play stuff. Computers support multiple tasks.
Unless you expect all computer based work in the future to be run though bespoke single function apps that have one giant button, people are going to keep needing these skills.
I suggest you look at your phone, because giant button single use apps is exactly what we have.
Taking a photo? Tape the picture of the camera, and then tap the giant button. Sending a message? Tap the speech bubble, type out message, and hit the big send button. And so on, and so forth.
Yes, but this isn't work.
Work is more discrete, less specific; I very much doubt we could have such simple apps that could support the employment of ~1/3 of the population (those in the article with -1 or 0 "computer skills")
Work is where complex tasks expose themselves; tasks that sit between theses apps. If you don't have the knowledge or how-to to move between the buttons in the increasingly appified future, you're going to struggle.
A driver needs to know several things about how their car works - like use of oil/coolant, what the clutch does, what brakes they have, etc. - in order to drive safely.
I know many good drivers what oil/coolant or clutch is and heck I even don't know my brake levels being a DIY car enthusiast. They just call for service if something shows up on the dashboard or hear something.
That does not mean they are ignorant drivers as long as they know how to drive safely and make regular services according to manufacturer's guide.
My car doesn't have a clutch. It's has an automatic transmission. i don't know what type of oil or coolent it needs, or even where to put it. I don't care. The light comes on saying it needs routine maintence, then I drive it down to the Genius Bar and give them my credit card. Problem solved. My brakes make the car stop. That's all I need to know. I don't know how a fuel injection system works either. I don't need to know any of this stuff. I get in. I press the button. I put in in D, and I go. That's pretty much all I need to know, and that's all I care to know. I get. I benefit from any additional knowledge. Could I look up where the drain plug is and what type of oil I need? Sure, but I do t want to.
Yeah. I'm proud that I don't know anything about my car, because you know what? I don't have to. That's how technology advances. You call it ignorance. I call it abstraction.
If you don't know if your brakes are ABS, or what happens when ABS kicks in, or how to drive with/without ABS then IMO you don't know one of the very elemental basics about driving safely; that's what I was (poorly) communicating.
With a new car, you can probably get away with not checking the oil or knowing how to top it up (ditto the coolant); both of which are part of the UK driving test IIRC. But having the engine seize because you didn't add oil or the car over-heated can be very dangerous. All the vehicles I've owned have had manuals that describe oil/coolant/tyre checks and test them as essentials for drivers, maybe that's a UK thing - like how toasters have a leaflet telling you not to poke metal objects in them, keyless say not to run them empty, etc..
Fuel injection I don't think pertains to safe driving?
>You call it ignorance. I call it abstraction. //
Ignorance and abstraction are different. Choosing to be ignorant of the workings of your vehicle is not an abstraction per se. Like knowing how to stack Lego isn't an abstraction of the, chemical manufacturing process or physical theories involved.
I used to think computer literacy was obviously increasing over time, because that was the narrative about the future that I heard (computers are becoming more important, people are getting more exposure to them → clearly people will understand them better and better), but now I'm not so sure!
Given that narrative, it should be increasing in the sense of getting more people off the floor and on to the bottom rung.
There's no reason to expect that it should be increasing in the sense of a higher percentage of people reaching the higher rungs.
It's a literacy vs. fluency thing. Improvements in global communication and travel should mean that more of us can speak a few foreign languages in the sense that we can ask directions to the station and buy a beer, but it doesn't necessarily mean that significantly more of us would be able to read and discuss the details of the major works of literature in those languages.
Age does not determine literacy. This gap will persist through at least the next 20, 30 years, if not longer.
I'm a senior at a private high school that's ranked top 3 in the nation. If I went up to someone and asked them what a regex was, nine times out of ten they wouldn't be able to tell me. Almost all people (who are otherwise are some of the most brilliant people I have met/will ever meet) wouldn't be able to reinstall Windows/macOS if their boot sector was corrupted.
Regex is interesting because almost anyone that works with documents and spreadsheets would benefit from it.
Similar to programming though, even as a non technical person at a tech company you would definitely encounter situations where some simple code/db queries would help a great deal.
Ha, I would already consider it progress if the Preview app on OS X wouldn't just ignore any non-alphabetic characters I put in the search field of a PDF.
Here's an idea. Make utility services scale with people density. Relax restrictions on how much they can profit off sqft. Single home dwellers are penalized with increased upkeep costs and higher density buildings are encouraged.
What? That's crap. Why should single home dwellers have to pay more for water and electricity and gas just because their house is bigger? Then you'll have apartment dwellers running the heat with the windows open.
Utilities should be paid per-use, just as it is now. People with bigger houses are naturally going to pay more because a bigger house usually needs more power/fuel for HVAC, unless their house is more efficient. Also, we need to incentivize making homes more energy-efficient, and regressive policies like yours discourage efficiency. Smaller isn't always better; crappy old small houses and apartments can easily use far more energy than new McMansions.
And that leads me to one big problem in the rental market is that landlords never spend a dime on improving or renovating homes for better energy-efficiency, because the tenant has to pay all the utilities.
Water and electricity and gas are generally less cost-efficient to provide to less-dense neighborhoods, as the length of wire & pipe (and maintenance overhead) needed to serve a given number of residences is significantly higher. This is likewise why electricity and phone service were not provided to rural areas until subsidized by the government by taxing urban dwellers.
To new neighborhoods, you're right. To existing neighborhoods, you're wrong: the infrastructure is already there. There's no reason to raise rates for people for something that's already paid for. That's like adding a toll to a road that's been there for 50 years; it's just profiteering.
Maintenance is not going to be any higher for lower density; it's not like you see electric utility workers in the suburbs constantly, repairing stuff. And access is more difficult in higher-density housing too: in a suburb, you just drive the truck up to the transformer, but in a large building, it isn't that easy.
As for rural areas, there's a huge difference between urban and rural areas (where houses are miles apart), and urban and suburban areas (where houses are 20 feet apart).
> And that leads me to one big problem in the rental market is that landlords never spend a dime on improving or renovating homes for better energy-efficiency, because the tenant has to pay all the utilities.
If that were the case they could charge 'fixed utilities' at a reasonable price and then when they upgrade for energy efficiency they reap those gains.
You mean force the landlords to pay for the utilities? Doing that means the tenants then blast the heat with the windows and doors wide open: they have no incentive to be economical with their energy usage. All it takes is one bad tenant like that with $2000/month utility bills and the landlord has to declare bankruptcy.
Why not just have some kind of regulation requiring rental dwellings to meet certain energy efficiency standards? And combine this with some programs to help landlords upgrade, perhaps with low-interest loans or something.