She has her students go into the field and collect data in the form of photos, spreadsheets, and typed reports. She wants students to bundle these files in zip files, and email them to her.
Students have no idea how to do this. Some of them struggle with emails. She has had to make her tutorials on this longer and longer. And she has also been forced to start accepting assignments as a pile of attachments, because so few students understand zip files.
When I was in high school the vast majority of my peers understood how to bundle up a bunch of photos, documents, etc. into a zip file and e-mail them. This is because my peers were nerds, and we were excited about this new computer technology and eager to learn everything we could about it. There were no computer classes in high school. When we had high school science class, we were expected to draw pictures of our experiments (y'know, with a pencil, on paper) and fill out the lab report longhand. There was a large segment of the student body who had no idea what a file was, or how to turn a picture into one, let alone how to bundle it into a zip file.
It was a bit different in college, where we were expected to understand Excel and how to run a regression or graph some data. But then, that drew from a very different population than high school.
It's sorta like how SATs are dropping not because kids are getting stupider, but because a larger proportion of people who would never have been considered college-bound a generation ago are now expected to take the test.
I see it as progress - which destroys meanings as much as liberating new meanings. A word becomes a poetic palimpsest of needlessly complex layers.
I am an engineer-type, I like concrete words with focused meanings, I failed English at school while excelling at the hard sciences. The loss of meaning disturbs me, but I value the gains, and I accept that new language requires freedom from old dictators.
Losing the word "meme" to the colloquial definition is a loss and a massive disappointment to me, because I think the gene analogy is insightful. When I talk to people about memes-as-in-memetics they're bound to get confused or even disbelieve me that it had any other meaning.
I've been accused of man-splaining in situations where I am legitimately being helpful, am an authority on the subject, and have good intentions, so I kinda don't like that words contribution, personally.
Literally should mean literally, and only literally, because it's useless if it doesn't.
On the other hand, there were all sorts of weird and redundant words that existed in English that probably shouldn't. This probably isn't true, but the word "praxis" seems like it exists because someone important misspoke when trying to say "practice" and then insisted it was a word in itself.
My impression is that the effect the parent talks about is real, though. There is a lot of regression happening in the language even as people get more literate, and the echo chamber of the internet reinforces trends into more lasting changes.
My biggest gripe of all with anyone effecting change on language lies with the marketing-focused actors who think they're doing their job well when they:
1) Appropriate colloquialisms and push them into the mainstream where they have more staying power than they otherwise would.
2) Refuse to expose people to words they're not familiar with because it might not appeal to them. Ever consider some people might want to learn new words? That starts with exposure. Lowest common denominator advertising is a well-funded stupefying force.
3) Create new words and change meanings to suit their narrative/sales pitch. A recent example is an article CNN ran about a new alternative to vapes and cigarettes. What they described is actually just a different kind of vaporizer. It emits nicotine vapor. They're calling it something different to avoid the stigma that shallow media coverage of vaping created, and making the word more ambiguous and less useful as a result.
I love "The Selfish Gene", but it make me happy that memes and virality are modern metaphors for chunks of thought transmitted by wet symbolic processors. I believe that children now bellyfeel the meanings which is fantastic, even if they don't know the exact sense.
> Literally should mean literally, and only literally
I think I used to agree, but now I just like to amuse myself (and sometimes others) by misusing it. I do the same with many other words (sophisticated, nice, proud, etc). I like the layers of meaning, and I love multiple connections, although I still don't like most poetry.
> 3) Create new words and change meanings to suit their narrative/sales pitch
This is a true evil: the defiling of words for commercial gain riles me.
Except the last chapter about f$%#ing memes. Hated it. It was like taking the core idea of the book and providing a cumbersome over-extended metaphor about ideas. So the colloquial meme is just as bad because it constantly reminds me of the original shit-house idea.
Climbing Mount Improbable was good, but I can't rate Dawkins' later work. The Extended Phenotype I found impenetrable, and I've tried reading it a few times. The God stuff ... omg, just please stop shouting about your Daddy issues.
When you read about how selfish genes work, and then relate that to what is happening with certain "meme" concepts in the world, it makes sense to me.
The Extended Phenotype is really hard to grok, but I still love that book. I'm not sure I've ever been able to apply the idea.
I completely ignored any of his God bothering stuff - to me it seemed he was pushing his own religion (note: religions are a type of meme too).
>common people
Thats the definition of vulgar that I meant, not the modern vulgar definition of vulgar :)
Just that scientists and philosophers wanted an in un-ambiguous form of communication that wasn't subjected to the whims of popular culture.
What reduces precision?
1. Increased reliance on idioms to communicate. Idioms use analogies, and usually reduce precision. Our increasingly shared cultural context via the Internet means that more and more idioms are entering common use and (IMO) reducing the clarity of communication.
2. Reduced general vocabulary. We have more jargon than ever before, but regular writing is simpler than ever. Generally speaking, a reduced vocabulary means more concepts are "mapped" onto the same words (like "great," a highly over-mapped word.)
3. Irony and sarcasm are abused as argumentation tools. Mocking a point is commonly accepted as arguing against it. I believe this stems from acceptance of irony as a normal way of communicating (as opposed to using it mainly for humor). This also results in many words having two opposite meanings, a "true" one and an ironic one. (ofc this happened in the past too, see history of the word "egregious.")
4. Ease of publishing. People put less effort into writing today because the barriers are lower. Yes, there are still authors who put a lot of thought into their work, but the Internet is awash in poorly-chosen words and ill-thought-out language that frankly didn't exist in the past. Poor language has poor meaning, and this actually damages the trust people have with the written word.
Of course, this is just my personal thoughts... I don't have strong problems with modern language. I think your question about "inferior" is a good one because superior vs. inferior doesn't make sense without metrics for comparison. If the metric is personal appreciation, then superior vs inferior is just subjective. If the metric is density of information transfer, I suspect we've improved.
Of course it is writing in the sense of using the alphabet. But has everyone started to write books and essays? No. In fact, people write less than they used to because letters have been mostly replaced by other methods of communication.
What you think is horrible written English is actually normal spoken English, just output through letters rather than sounds. And spoken language doesn't look anything like well-formed grammatical writing that doesn't give your English teacher a heart attack.
> 1/2
I'm getting strong Sapir–Whorf vibes here. Language adapts to what people say, not vice versa.
> Increased reliance on idioms to communicate. Idioms use analogies
No, they don't. Idioms have a meaning that is divorced from their constituent parts. They have a similar role to words.
> Reduced general vocabulary. We have more jargon than ever before, but regular writing is simpler than ever. Generally speaking, a reduced vocabulary means more concepts are "mapped" onto the same words (like "great," a highly over-mapped word.)
That is simply not how language works.
> 3
I, too, am concerned about the recent invention of satire and polemics. I hereby Modestly Propose to eat everyone that uses these diabolical stylistic devices and feed the leftovers to the Irish.
That's my intuition. But I'd also note, your points (1, 3 for example) contradict eachother. You complain that writing is simple (2), but unclear (1), idiomatic, but jargon-laced.
My thinking is that modern writing is a sort of colourful digression from the Elements of Style. Irony, simplicity, and idiom seem like good ingredients for playful, powerful writing.
I don't believe that my points contradict each other. So I'm going to address that part of your post, to avoid any confusion. But I think the rest of your argument is great, I just want to explain myself a bit better.
For starters, simpler writing can indeed be more unclear (because it's less precise, as discussed). So "simpler, but unclear" isn't contradictory in that sense. In this case the lack of clarity comes from a mismatch in the shared understanding between the writer and the reader. The more "simple" a sentence, the easier it is to misunderstand (to a point, and with exceptions).
And with respect to idioms, I would say that "uses idioms" does not convey the same idea as "idiomatic." By "idioms" I refer to reasoning by a shared analogy. A random example is the idiom, "Like water off a duck's back." It conveys meaning by analogy. This is usually less precise than using a direct description ("He didn't seem to care at all.") Sort of a dumb example, but I hope it makes sense.
Finally, about jargon -- by definition jargon is not part of shared vocabulary outside of a certain field of expertise. I believe a lot of our most precise words, which previously were common usage, are now becoming jargon. This is fine for experts but it leaves non-experts with a paucity of words to express their ideas in novel domains.
(Once again, this is just my personal impressions, not based on studies or anything. So, don't take it too seriously!)
My feeling as to what distinguish good writing from bad is more that good writers say what they want. Bad writers say stuff they didn't mean to, say stuff that other people want (cliches), or say nothing at all (obscurity). So in my eyes, there's no distinguishing textual characteristic of good writing. For instance, while I generally agree with you on jargon, David Foster Wallace uses jargon in a way I really like, and think is pretty central to what makes his writing good.
A lot of people describe dialogue from early movies in a similar way, just because it's difficult to understand. Especially the early noir stuff. They're speaking perfect English, but it might as well be a foreign language to most English speakers today.
The writing of an un-edited grandparent might be a more accurate account of this.
Or not.
Speakers are entitled to "abuse" their language if they want to. It is theirs.
I believe our language is almost like a living thing that we are stewards of. One of the ways we can help steward modern English is to discuss the good and the bad parts, and try to move the language toward the good, even just in our personal speech.
So don't take my comment as a criticism of the younger generation. It's a criticism of myself and my generation. I'm just talking about the language that's floating around all of us, right now, that we are all building together. And I want to make that language as "good" as it can be.
That being said... if I'm reading this correctly, its specific to communication in non-business settings, where I don't really care much about whats "proper".
This is a losing battle, btw. Every society seems to struggle with the problem of keeping purity in language and all of them seem to have failed in that effort. Europeans failed to keep Latin relevant. Indians failed to keep Sanskrit relevant. The common language that is well understood by a majority will always win. And trying to keep it pure by force, just makes it die in relevance.
Which is why, the fact that Oxford English Dictionary keeps adding new words to the English dictionary is one of the best indicators of the resilience of the English language.
I used Usenet during the 1990s, and communication was much easier, because grammar usage was much more uniform(1)(2)
(1)Changes in the rules of grammar aren't the primary problem, IMHO. The problem is folks who don't follow any rules at all; rather, they simply string together word sequences that sound familiar.
(2)I sympathize with young folks today who don't have a good grasp of grammar. Most of my education came from reading newspapers and magazines, which still employed expert editors when I was growing up.
It's also the case that just losing the utility of something hurts, regardless of the merits of the replacement so it's subjectively inferior to someone like me - getting older and crankier, you know.
I don't think that's the reason. I did study with non-nerds and they had to deal with computers because they wanted music, or to read an article in the internet or print something with Word/Windows and install the printer drivers.
What changed now is that things are more "streamlined" and all the complexity is abstracted. Software companies have figured out that people struggled with files, so they removed them. This can make the average person less computer-literate since he doesn't have to learn much to be able to handle the computer.
Because of that, I prefer email. I'm more than happy to pickup new technology and use it but I have no desire to do so if it's going to take more time to do something I already have little desire to do.
My current location literally has 8 communication mediums and its miserable to deal with. Then I send emails and people complain... it's like people enjoy wasting their time.
I think 1 striking manifestation of the loss of the concept of files is that if someone wants to share a Note from their iOS device, the most common way for them to do it is for them to likely take a screenshot of it and share that image.
Since conceptually a note is not a thing of its own, but rather a part of the Notes app, people rightly believe you cannot share it on its own, and so need to go with the all catching screenshot fallback.
Perhaps I am just in that brief period of time where more people than just the nerds knew the basics of the filesystem.
This is in the same population of students. I noticed basically that IO tasks were eating up an increasingly big fraction of effort and time early on in courses, reflecting problems that didn't exist previously.
This seems to be for the reasons stated, that file IO stuff is being abstracted away. What used to be typical necessary computer fluency is now "low level" for many.
There it is.
It isn't just education, obviously. All software has to be subjugated to an ease-of-use that buries details.
I very rarely send emails at all outside of work. Maybe one or two support emails. I also fairly rarely create zip files either. Of course, I know how to do these things, but I don't really do it anymore. I haven't needed to, for the same reason that I don't own a printer.
I haven't needed to "compress" anything since Google Drive and Dropbox meant that all I needed to do to get someone a file is type their email into a box.
Perhaps instead of email, you teacher friend could find out how her students send things to each other and meet them half way? Make up a google drive or dropbox or whatever microsoft or apple are doing instead of insisting on whatever's most comfortable for you.
In short, I don't think this is an example of students falling behind, but teachers getting left behind.
It's a little rudde to say it that way, but I really don't know how else to say it.
I suppose, in the same way that people using crayons are moving away from the printed word.
> Perhaps instead of email, you teacher friend could find out how her students send things to each other and meet them half way? Make up a google drive or dropbox or whatever microsoft or apple are doing instead of insisting on whatever's most comfortable for you.
Isn't the whole point of school to learn new skills? If students have illegible handwriting and poor grammar, should the teacher really be meeting the students half way?
I actually told her that she should continue doing what she was doing, because it was a real boon to her students. They might not ever learn this stuff.
Her students objectively less able to share information with each other. I have certainly seen kids who have to go as far as taking screenshots of what an app contains and send a screenshot to someone, than actually be able to export text.
I could understand if what the students were doing was in some way comparable in flexibility, but it isn't. They basically only know how to click on the share button in an app, and text links for someone else to install the app. Or send them screenshots of them using an app scrolled to the relevant info.
But the biggest benefit is that having assignments in discrete organized bundles makes the most sense for everyone.
But the new way is exemplified by iOS. You buy pre-packaged "solutions" that keep your data...somewhere...safe, presumably, and away from you so you don't screw it up. If it's something you should be doing, there will be "an app for that" that you can buy, so don't worry your pretty head. If we gave you "tools", you'd just hurt yourself. Why not stop worrying and buy something nice. We have songs, we have shows...you can send a funny animoji to all of your friends. Good times. You look awesome. You're welcome.
And for market success, they seem to be right, although they're creating a situation where, if you don't have to learn to use a toolbox of specialized tools in customized combinations, you'll never learn how and really WILL need to rely entirely on pre-built "complete solutions".
True story: while performing support for development tools, I asked a developer for a source file. They opened it in their IDE, took a screenshot, pasted the screenshot into a word document, hit page-down in the IDE, took a screenshot...
We got a several dozen page word document filled with screenshots of the text file.
> and meet them half way?
In other words, OP is not suggesting that you force students to use another method, but work with them to understand what makes sense to them. In your specific anecdote, if the teacher showed the students how to share hyperlinks, or how to get text dumps and share them instead of screenshots, maybe they would respect her for that.
I used to export the text of my travel itineraries, and go through several steps to get it on my phone. Now I just take a photo of the text on my screen. It's just one step :-)
Why not? Get a tablet with a stylus and draw your commentary directly on the image.
That is the way teachers have always marked up student work, just now without a paper copy or a physical red pen.
Trying to mark up documents using MS Word or Google Docs or whatever is a horrible experience in comparison.
It’s a nice example of software recognizing how people want to work and building to support that.
And one more for the people with Pencils - you can drag from the bottom corner upward to take a screenshot in any app with the same markup tools. Works on either side, so the lefties aren’t left out here.
Switching Preview to full screen trips it up still. For some reason that view wants to fit the whole document, and it zooms very far out to do it.
And on the iPad side there appears to be a limit on how long a document the "Full Page" screenshot will make. An HN thread with 110 comments came through entirely, but another one with 160 comments was truncated. Didn't dig any deeper than that, but I wonder what's going on there.
And, the added benefit is that it is searchable and can be re-rendered in different formats.
But even if sending obtuse oversized bitmaps to be handled on a tablet did happen to be the best solution, that is really not the point. Her class is not about optimizing itself. Her class is about educating students. Not just about science, but about what goes into collecting data, collaborating, and submitting it in an accessible format.
I think that a high school graduate should be able to understand how to take some arbitrary files, bundle them together in a zip file, and email them to someone. I really don't think this is too much to ask of some aspiring pre-STEM students. And if she bent over backwards to use snapchat and accept assignments in the form of a bunch of screenshots, I think she would be doing them a disservice.
If the student can't figure out a slightly different way to accomplish a goal then they are incompetent with computers and only proficient insofar as memorizing one workflow.
We’re not talking about pages of written commentary here. The most “effective and efficient” approach involves circling words or phrases, underlining sentences, writing arrows from one part to another, scribbling some wavy lines in the margin, writing a few words here or there, ...
There is a very limited amount of time available to work through each student’s work. The point is not to entirely rewrite the paper for the student, or explain every problem with the paper in detail. The point is to highlight what the student did well, highlight the parts that make no sense, and give the student a few pieces of quick feedback so they can revise their paper or do a better job next time.
A colored pen on a black-on-white printed copy is much more “effective and efficient” (and “fantastically less work”) than electronic tools prominently involving a keyboard.
Wanting each of your teachers to learn how to use a constantly changing array of 20 different social image sharing services in order to receive work in a format that is more work to process is lazy.
They have custom HTTP JSON RPC protocol, it uses POST and GET verbs. Their web site calls that one. They also have more performant TCP binary endpoints for use by native clients, with the same payload packed into custom binary format.
For users, it's a web app with download and upload links.
For normal document-sized files, email is fine though too IMHO, for university stuff I never really cared which way was used.
If you managed to address the legal and security concerns, you'd have to fight against decades of momentum and user entrenchment. Drive and Dropbox are rare; any customers or vendors that you're working with will probably have the headache of figuring out how to interface with these services instead of just applying their ~25 years of experience administering massively powerful Windows services. Power users have assimilated those 25 years of workflow into their very being, and all the added complexity of SMB/Windows shares and other related services are extremely powerful tools that help them ensure that the right people have access to what they need and no access to what they don't. In-house tools are written to integrate with the existing infrastructure, and nobody has enough knowledge or balls to attempt replacing them. Internal data sharing services are generally based on software which has been continuously improving for decades, and has best-in-class feature sets and support.
The points above are themes that I've encountered pretty much universally in every engineering firm that I've worked for or interfaced with.
The "zip up your files and email me" is only hard when the concepts of files and email are alien, because everything lives in its own silos. Which is the point.
1. The privacy policy of Google & Dropbox is a catastrophe.
2. They can ban you at any time for all sorts of silly reasons and then you can't even turn your homework in any more.
I don't know if it's a coincidence or a department policy, but Google gets them early and if you think that's bad, teachers aren't to blame - maybe schools are or possibly the education dept.
Honestly I was a little surprised that there was no discussion about it. I talk to my kids about the way the web and privacy is going and I don't expect schools to do everything but they should be a little more aware of the issues imo.
I feel your pain. At an obligatory 500 bucks a pop I would have been much happier to buy them laptops.
In my less charitable moments I think teachers are getting lazier, but when I go to those parent conferences and see the teaching staff looking like rabbits in the spotlight as parents of 3rd graders grill them on the latest academic theories I realise that really they're caught in the middle of a whole set of weird expectations.
2. The professor tells you to create a new account and submit it via that. Sure it probably violates the ToS but nobody cares.
They probably just don't. People are sharing images, text, and links. Mostly on non-accessible, ephemeral, and unreliable platforms. They are not used to share generic data and not used to reliable platforms at all (as even email is unreliable nowadays)... except at work, and that's where people use email.
The problem is all these services try to control as much as they can. So interoperability becomes whatever contracts on the use of APIs they can sign with each other. You as a user have nothing to say.
"Please turn in your assignments via Snapchat by 7AM tomorrow"
Another contract made a Facebook messenger group and shared all versions of files by pasting them in to the messenger chat.
Wasn't particular happy about those but fortunately both were fairly short term things and to be honest I couldn't really think of anything better that I believe I could convince them to do. The Line accountant was definitely not going to use anything other than Line.
The FB Messenger file sharing, well, what. Email? Dropbox cost $$$ per user. Github requires more training. I suppose maybe Slack would have been better than FB messenger but still requires getting the other party to install apps and get used to a different workflow, So yea, I just put up their chosen method of communication for the duration.
And despite this vast monopolistic ecosystem DaumKakao put ads in the app this year. Greedy.
Dang, I wish I could do that.
Erm, you need to have an email to register for any kind of service out there, so "know how to use email" is pretty much a requirement even for everyone. And this is not going away, unless you want a future where everyone has to be reached thru uncompatible walled gardens.
I suspect it is the same progression as any other new technology that undergoes mainstreaming. Take automobiles for example. In the early days if you owned a car you either made yourself something of an expert (and if you were an early buyer you were probably kind of an enthusiast already) or you hired one. Today outside of enthusiast circles they are just an appliance: you get in, turn it on, and go do whatever it is you need to do.
But people still understand that they need to put gas in their car to make their car go, and if they run out of gas, their car can not go. We don't have to know what gas is, but it is still a quantity of something.
But our concept of files and data is becoming so abstracted that we do not even know where our data is anymore, how much we need, or how long it takes to transfer it. But until we have much more bandwidth and storage, there will be problems.
Imagine a world where we tried optimizing our cars interfaces so much that we removed gas gauges, and just had reminders that told people that they had to go to a gas station. And as a result people would frequently run out of gas, or be shocked by how much gas costs. But gas gauges were considered a power-user feature, and everyone was convinced that users would just never be able to understand them.
Nowadays, carburetors are gone, replaced by fuel injection, which controls the fuel mix so tightly that sparkplugs rarely get dirty. And the whole assemblage is so tightly tuned that if you need service, you take it to a dealer and let a professional deal with it.
The world you're asking us to imagine already exists, you've just forgotten enough of the old world that you only remember the gas gauges.
Even in cars, you still need to clean/change your air filter an change your oil and oil filter, even if you pay someone else to do it. There's still coolant, that needs additives (e.g. antifreeze), and windshield wiper fluid that needs to be checked and filled.
I don't think it's asking people too much to have a basic concept, maybe 1 or 2 why's deep, of how the devices they own and use function.
But, there is a very simple and direct relationship between fuel in, movement out. And most new cars can also estimate how far they can go on how much fuel.
I think that this is actually the perfect relationship, and any more optimization at this point would be harmful.
There's this phenomena where anything invented before you turn 10 is just part of the natural order of things, anything between 10 and 30 is a great new opportunity that you might be able to make a career in, and anything invented over 30 is a threat to the natural order of things that must be resisted at all costs. I've put a lot of work into maintaining the ability to see change as opportunity past the age of 30. I suspect that most of this site is just hitting that demographic where new things become offenses against the natural order of things, though, and that's why we see such resistance to things like self-driving cars and cryptocurrency.
I really think that you're being overly optimistic about this. Kind of like people were about the cloud 10 years ago. There is going to be all sorts of new bullshit that you can't even imagine. I bet there will be surge blackout periods, where only rich people can travel. This will only trend worse over time, to the point where poor people are less mobile than they were when they could own cars. And you might have to subscribe to different car fleets, and will get screwed a bunch of different ways that way too.
> There's this phenomena where anything invented before you turn 10 is just part of the natural order of things, anything between 10 and 30 is a great new opportunity that you might be able to make a career in, and anything invented over 30 is a threat to the natural order of things that must be resisted at all costs. I've put a lot of work into maintaining the ability to see change as opportunity past the age of 30. I suspect that most of this site is just hitting that demographic where new things become offenses against the natural order of things, though, and that's why we see such resistance to things like self-driving cars and cryptocurrency.
I try not to be a luddite. But I think you are discounting how people with more wisdom can see how things have degraded over time. Obviously those in power have a vested interest in you believing that things are only getting better. Phone manufacturers don't want to remind you of the days of headphone jacks and user swappable batteries.
As a 26 year old working in the tech industry, I see lots of newer tech around that I'd say is threatening, and I have for several years now. Though I suppose I'm probably in the minority. :)
The trend of technology today seems to be towards more centralized ownership of everything we interact with, when the platform providers can get away with it.
20 years ago you would buy a book and it was yours. You obviously still can now, but if you buy an ebook from Amazon, they can take it back from you. (Or if you poorly chose to buy an ebook from Microsoft... well, they all stopped working recently.)
IBM, though never a bastion of openness, had a very detailed repair manual[0] for the original IBM PC. Sure, modern machines don't have nearly as many user-serviceable parts, but in many cases today you'll find legal and technological barriers to repair in place of even the most basic of repair manuals.
It's a trend that's hard to fight, and opting out means sacrificing a lot of convenience, but I try all the same.
[0] http://classiccomputers.info/down/IBM/IBM_PC_5150/IBM_5150_H...
> I've put a lot of work into maintaining the ability to see change as opportunity past the age of 30
I do agree with you mostly and most younger coworkers don't seem to want or care about hacker news. I remember when I was in college and found this website, it was the greatest discovery ever and there was so much interesting content. But (purely anecdotally) the viewership seems to be limited to that demographic.
From the opposite perspective of a 20 something, my more technical friends with a genuine interest (the type to build their own PC/NAS clusters, Arch Linux/Gentoo users) are the ones I know that do browse HN regularly. We're still around but I also can see most people would rather browse Reddit.
I'd like to think the conversations here have more substance than on other sites and that is still a major draw.
> > I've put a lot of work into maintaining the ability to see change as opportunity past the age of 30
There're a few big skills, both of which are really about mindset and worldview than anything else:
One is to recognize and embrace impermanence, and to do so as a way of inoculating yourself against sunk-cost fallacies. So for example, I put in a lot of work to learn Python, Django, and web development when I got out of college, and then to learn C++, scalability, and optimization while I was at Google. When I left Google, I had the idea to do an API-compatible reimplementation of Django where all the framework bits are written in tightly-optimized C++. But as I started evaluating that idea, I looked around and realized a.) Django was no longer the preferred way to build webapps b.) The web, arguably, was no longer the preferred technology to build apps at all and c.) users of Django either didn't care about performance or they'd gotten to be big sites that can afford massive AWS bills. Sucks to be me. Better to recognize that early before sinking a lot of work into that project. I've still got those skills (though both Django and C++ are moving targets), and they came in handy when testing and rejecting the following couple startup ideas.
A second skill is to view learning as rewarding for its own sake, and something that you do lifelong rather than just when you're young so you can get a job. I'd internalized this pretty well as a kid.
A third is to pay attention to people around you, and when they're doing something seemingly stupid, ask yourself why they're doing it rather than immediately judging. And a fourth is to pay careful attention to things that disconfirm your previous hypotheses.
As an example of both of these - when I first heard about Bitcoin in 2013, I read the whitepaper, mentally filed it under "Distributed database; might spawn 2-3 interesting companies but won't go anywhere else", and then forgot about it for a few years. When the bubble hit in 2017, I was like "Pyramid scheme. Actually double pyramid scheme, which is kinda clever. Wait for it to burst."
But then from that assessment comes a hypothesis - when I looked in detail at the ICOs being funded, I should expect to see 100% scams. I only saw roughly 35% scams, plus another 50% that were well-meaning teams who were in well over their head. With over 6000 ICOs being done, that's hundreds of projects that might actually have a chance of being something real. So while the vast majority of crypto projects are scams, there's still something very interesting going on, and perhaps its younger boosters may be onto something.
I haven't worked on cars old enough where this would be an issue, but, as far as I know, all you need to do is disconnect the ignition coil before removing the spark plug.
60s tech was rotor and coil. Modern tech needs running ECU.
Also AFAIK the spark is mostly just painful and not particularly dangerous (memory of spark plug lead with cracked insulation). I have also had a shock from a charged CRT tube (youch!), and the occasional 240V mains shock (careless me).
But spark plugs and air filters are still a thing.
I've owned my car for 10 years now, and the total number of times I have had to change my oil, air filter, spark plug, or any other part of the engine is zero. My A1 service indicator comes on and I take it to the dealer, where they relieve me of a large amount of money and give me a car back that drives okay and has no maintenance lights on. I did have to change a tire once and jumpstart a car once, but that's about the extent of car maintenance I've needed.
If you genuinely enjoy the process, and it is cathartic and serves the function free time and leisure needs to in your life, then fantastic. But otherwise it's a false economy.
I have a 30 year old car and there are one or two specialists in my city that people recommend. One of them told me I needed an engine rebuild due to an oil leak, when it was actually a specific seal that was relatively minor to replace, and the other correctly diagnosed the problem, and apparently fixed it for a reasonable price, but insisted the oil I was using was too thin, and when I deferred to their expertise, they put an even thinner oil in (I found out later) and lied about it...maybe because they thought I would come back with more leaks...so the only local mechanic I currently trust is a dealer that will work on classic cars and they charge a ridiculous amount.
So, comparing cost and expertise and tools is kind of missing the point. I would always take a new or newish car to a dealer. I have no idea how to find a decent independent mechanic, and I've tried quite a few over the years. If it takes me several times as long to do something, it doesn't really matter if that's my only practical way to get it done right.
It really depends on what service you plan to do. If you're going to do things like changing bulbs, air and cabin filter, wipers, and the battery, you could get along with just a conventional socket set if that.
Oil changes will require a oil filter wrench/cap, a torque wrench, and a funnel. And those tools can also be used for transmission fluid changes.
Once you get to spark plugs and brakes, you'll need more tools, but those services aren't frequent enough to really warrant buying the tools as opposed to renting them.
> takes a bunch of time
I typically will change the oil on my vehicles myself and a oil and filter change takes me about 45 minutes (including the time to drive to the auto parts store to recycle the old oil). The last time I took my car somewhere for an oil change, I had to drive to 5 different places and finally had to settle on one that made me wait about 3 hours before they could get to it and change the oil.
There are certain services or repairs that will take time (brakes, suspension, exhaust) where I would just as well take it to a mechanic to do it for me, but there are plenty of others that don't take much time at all and cost significantly less in terms of saving on labor and your time for setting up an appointment, taking the car there, getting alternative transportation or waiting, getting the car back, etc.
The air filter and cabin filter replacement come to mind (and, at least in my Honda Odyssey, can both be replaced in about 10 minutes give or take).
In fact, the last shop that worked on my car did exactly that and I had to buy a breaker bar and stand on it in order to loosen the lug bolts on my car before I retorqued them to the correct value.
Having to swap out tires is pretty unusual in normal driving these days and it’s not like you carry spares of everything else that could break and strand you in a car. So I sort of understand it even if I don’t really like it.
I also have AAA, and don't intend to change a tire if I don't have to, but AAA will not provide you with a suitable tire and wheel. And I don't see why someone would want to arrange for their life to depend on their cell phone working if they drive anywhere out of town.
In fact, right now, I have run-flat tires, a spare, and AAA.
Or, simpler, wireless powering in most parking spaces so for most people never even having to think about power
Or, robot chargers. Put a QR code on your plug, maybe in infrared so it's invisible, and some simple device and find and start charging your car anytime you park it.
Anyway, as an old computer literate person the idea of not understanding files scares me but if people are getting by without them then it's just probably me being out of date.
I think that is a bit optimistic though. It would be far more obtuse than that. You'll have to subscribe to one of a several charging services, that sort of work with each other most of the time. And you won't be able to inspect for yourself how much voltage your car has left without jailbreaking it.
Oddly enough the iPhone doesn't do this, it will happily tell you how many GB you have left when what the user really wants to know is "How many more songs or photos can I store?".
The first few years of bluetooth headphones would just give you an alarm when they were at 5% capacity, and that was it. And in general, there is very little feedback given about what your storage is doing and where it is located. Just a simple question of "where are your photos" can be hard for most people to answer now. "Uhh, the 'eye cloud', but also on my phone. I mean some of them are and some aren't."
And that is why people are constantly losing their data now. I have seen plenty of people hold onto their old phones because they have data that they don't know how to get off, and it is just easier to hold onto the entire device.
That depends on how large they are, and that can vary widely, which is why abstracting away files (or more specifically, file size) is such a bad idea.
I'd argue the problems will only start when there's enough bandwidth. That's when companies will be able to fully transparently store everything remotely and that's when people will really get screwed. Because if Google locks down your access for TOS "violation" then even having a needy friend will not bring back fully remote data.
Of course the idiot light has achieved an apotheosis in the era of computerized cars, where the car's onboard computer signals a problem and illuminates the "CHECK ENGINE" light. Of course, what that means is that you need to take the car in to the garage and have a Certified, Licensed Professional Mechanic attach a doohickey to the engine computer to tell him what the problem is, so he can tell you.
My father is an old-time car geek. This shit drives him up the wall.
You can buy a OBD-II scanner for around $30 and get that information yourself without having to take it to a mechanic. That should for work for any car built since 1996.
>> But our concept of files and data is becoming so abstracted that we do not even know where our data is anymore, how much we need, or how long it takes to transfer it. But until we have much more bandwidth and storage, there will be problems.
I think you're mixing up analogies at different levels of abstraction... yes people know they need to fuel their vehicles, and they know they need to plug their computers into power or charge the battery, and connect to the Internet. People probably don't know much about fuel injection, and plenty of them probably don't know what a spark plug is. It's possible that they also don't really need to know what the underlying storage abstraction for data is.
As others said, that’s because they don’t need to do that.
In my experience, they will know how to share their Google Docs (which is where their spreadsheets and typed reports in all likelihood get written) with you.
They probably also will understand that editing said documents after informing you of their existence may not mean you’ll see said changes.
From what she has told me, and from what I have seen, some of them don't even get that far. Their idea of sharing information is to send screenshots in MMS messages or over snapchat.
And, I think that if you graduate high school, you should have these basic skills. Just in the last year, I have emailed zip files to several different people, like my attorney, or when I applied with the local town clerk for a parking permit. There is never going to be an app for everything.
And call me old fashioned, but I think a high school graduate should be able to write a check, put it in a physical envelope with a stamp, and mail it. And if someone lets you expedite something by emailing forms to them directly, you should be able to do that too. God forbid a medical office asks you to fax them something. (Which I still have to do several times a year)
When I was in high school, everyone knew how to use AOL to send word documents and pictures and even mp3s to each other via email. Everyone. These are skills that can be taught.
Doing that was much easier in the days when computers came with fax/modems and most places had landlines. Now you have to search for some online service that will inject adverts in your fax or go to a copy place (if you can find one) and pay lots of money to send a fax. I'd almost rather mail a certified letter with return receipt instead :)
Office supply stores will often send faxes.
I'd say we're seeing that filesystems weren't a great user experience, at least the way they've been implemented in the past, and I'd place the blame on the other side. The design of computer systems today isn't the only possible way to design them. They exist to serve users. If our old systems aren't well-liked by users, and we spend all our efforts hiding their inherent design so people can actually use them, maybe our foundation is wrong.
Even the most technical people in the world have been trying to replace our filesystems with object databases for a few decades now, and plenty of people use only "services" (database in the cloud) or "apps" (database on phone). Isn't it possible filesystems have outlived their usefulness? For a lot of people, they really only exist to boot the OS.
Computer science students need to learn about filesystems and C and Unix, sure, like cooks and carpenters need to learn US customary units.
The comments about file systems are interesting, but I doubt that programming is going to get much easier just because you store your source code in database tables instead of files.
I first thought he was asking if there was some kind of Recycle Bin on Android, but then he said: “when we die, our body is burier or burned, that is it becomes bones or ashes, but what happens with the picture on the mobile phone, what does it become?”
And they remain in the same place until the file space they occupy is reclaimed by the OS and rewritten with new content.
Long before I studied computer science concepts, I was enamored with computers. I was a power user then. When I was in elementary school I couldn't have Internet access any time I wanted (it was literally a call on the family telephone) so I spent lots of time playing around with the operating system and the installed applications. Many nights were spent exploring the nooks and crannies of Windows and Office. I learned about the cmd.exe and wrote batch scripts before I had any idea what computer science was about.
Later when I moved from Windows to Mac in the early 00's, I did the same. The same kind of curiosity led me to naturally explore the various system utilities, from Mac-specific like hdiutil or diskutil to general Unix-y.
I don't know whether this is fighting a losing battle, but I doubt anyone who's not curious enough to learn about the innards of their computers can really become successful CS majors and hackers.
It's sad because I feel like I and a handful of other people in the program were the only ones actually enjoying it. It probably also has a lot to do with older people telling so many kids as they were growing up that they're "so good with computers" because they showed them how to setup their email accounts and it gave them a false sense of skill that made them think they should do it for a living.
I got the same "I'm not good with computers" response.
Modern web browsers are the cause of this they don't distinguish between an address and a search query -frustrating.
Yet I could not fix my car, my microwave or my refrigerator if my life depended on it.
Does it make me less? Is it wrong that I use my car 2 hours a day and the only thing I know is to press a bunch of buttons?
Not for me. I enjoy CompSci technology. I wouldn't like to spend my time fixing my car.
Google is in the process of making it worse by hiding URLs in the search results. (It's also a security risk. Google's site-name detection often makes terrible mistakes and points users to malware.)
I now have to teach teenagers the concept of "computer".
The idea that an app is a "recipe", a set of instructions, and something needs to execute that recipe, a "computer"--aka your phone, is now a foreign concept.
https://en.wikipedia.org/wiki/Constructionism_(learning_theo...
?
A lot of current approaches prioritize scalability over everything else, leading to canned and sandboxed curricula.
I'm curious, though, whether this is in tension with your understanding of constructionism.
I showed my son at a young age terminal commands to browse the filesystem. It really seems to be helping him now that he coding.
Can’t happen soon enough imho
It's like cable TV, originally one paid a premium to avoid advertisements. Today it's just the norm, and you get the advertisements anyway.
My project Aquameta is one such attempt, trying to rethink the programming stack, and by extension all user data, as relational data instead of files, with the filesystem still there under the hood, but basically as a bootstrapping mechanism to get the database running.
Here's an essay about the reasoning and approach:
http://blog.aquameta.com/intro-chpater2-filesystem/
The TLDR is that the filesystem lacks a sophisticated information model, and doesn't provide mechanisms for defining structures, and we really need to embrace this basic requirement at a systemic level.
Boot to PostgreSQL! :)
Can you ELI5 what this means? Very curious to understand ideas on alternatives to the traditional file-system abstraction.
I do a lot of self-study, and I use Calibre (ebook library software) to organise my reading materials. I used it because my Linux file browser has problems displaying covers for EPUB files. (And a couple of other) I like that my reading material has lots of ways for me to organise it without creating duplicates (tags mainly) search and browse my books. Then one evening I found myself wishing I could have all my other relevant 'files' in the same system: audio, video, source code, repos, blogs, podcasts, notes etc... Basically a metadata rich database - except not really a database in my case as I need to pull in 'stuff' from all over the place, and not only on one device.
Files are nice, and I hate anything that takes away my ability to organise stuff on a physical level (which, truth be told Calibre stubbornly refuses to let you set up your folder system, so I cheat by using tags) but at the same time, the problem with the skeuomorphic paradigm of files and folder is that there are so many more options open in the digital world than in the real world when dealing with items.
Imagine being able to sit at your office desk and open the drawer to pull out a piece of paper. When you look at the paper it shows you some text. Rotate the paper to the left and the text disappears and a video starts playing, turn it to the right and you hear a podcast, place it on your desk and 4 more pieces of paper appear next to it - or it calls someone relevant to the info.
All possible with digital info, but not with a real piece of paper - yet.
That is the only thing I see as a real negative about files and folders - it may be limiting what we can really do with our digital world because we're stuck in a file-system metaphor created hundreds, if not thousands, of years ago.
So rather than going to /home/kaslai/images/ to (hopefully) see all my images, I'd instead query my filesystem, perhaps like /owner:kaslai/type:image.
The specific syntax would need some serious thought, especially if we want to make it fairly ergonomic to slot in to existing systems.
There are a large number of approaches that one could take. I'm personally a fan of a hybrid, where you could navigate to a location and then make queries on anything within that location.
IMO one of the coolest features that such a filesystem could have is dealing with music. There's no perfect way to map CD rips to a hierarchical filesystem, but that wouldn't be a problem if I could just open a "directory" like /home/kaslai/music/?artist/?album/ which would automatically make virtual directories based on the artist and album, or I could just use /home/kaslai/music?artist=Smash\ Mouth to get a list of all 182 copies of All Star that I have in my library.
Basically the idea is that the OS identifies and indexes all data on disk providing primitives to access content by query rather than only by a hierarchical path.
This applies to user content but also object code, libraries (providing versioning, compatibility, integrity, whatever criteria.)
"You're so lucky you grew up using this technology, so you're used to it whereas I have to struggle - yes, do ignore that I had more than your whole lifespan to get up to speed on this ubiquitous reality"
but I encounter people under 24 that can navigate a touch screen pretty well but lack any fundamental knowledge, let alone typing on a keyboard in a proficient way.
fortunately most activities no longer require this kind of thing. auto-saving, and better UI solves alot.
I can see how wanting to teach these things will have challenges.
I don’t know. On the other hand, most older people like myself have had to deal with data loss from failed, obsolete or lost storage devices. There’s still no “one size fits all” very-long-term solutions for consumers.
If I try to view this from a non-technical persons viewpoint, this shift has been transformative, really. Most folks don't care if their data has been transcoded a million times as long as its still useful and easily accessible. This has protected a ton of businesses and users from being at the mercy of their IT team.
Every service is "extremely high reliability" until it isn't. Sometimes, the causes of failure are even beyond technical ones. Look at the situation with Adobe Creative Cloud users in Venezuela-- the discs and wires are still fine, but customers are losing real value because of legal mandates. Your high availability platform can withstand a network cable cut, but can it withstand a court order?
If you're still thinking local first, it encourages awareness of multiple baskets. iCloud is down? You can still pull the photos off your camera's flash card, or your workstation's SSD, or the external spinning-rust hard disc you used for cold backups, or the third-party dedicated backups service you use...
Until they try to print their photos for the family album and discover that pictures taken by their high-end camera or an expensive iPhone were degraded by successive transcodings to the point they look like garbage in print, and at that point there's no way to fix it.
> This has protected a ton of businesses and users from being at the mercy of their IT team.
And put them at the mercy of third-party vendors. It's a trade-off, but having a local IT team has its benefits.
Consider: unikernels (like, say, any old cartridge game ROM) don't have any need for files. They have precisely three abstractions they deal with data in terms of:
• a .data section in ROM (maybe needing bank-switching to get in place);
• some kind of byte-addressable NVRAM (like battery-backed "save RAM", or CMOS memory) either bus-mapped, or through MMIO.
• tape or (floppy) disk, sometimes at an extremely low level (send commands to the drive motor, write guard nybbles, etc.), sometimes through a DOS where you can just request to seek to a given track then read or write a given sector on that track. Either way, more like a block device than a filesystem.
---
For today's kids, I'd suggest: don't start with files. Teach key-value storage first. Interact with a library like LMDB without explaining where it's putting the data. They'll understand this just fine.
Then, teach object storage in terms of key-value storage. Object storage—especially once you add object versioning—is much closer to the modern metaphor that user-facing apps expose. You compose a complete new version of an object in an in-memory scratch buffer, and then it atomically replaces the previous object. You can't corrupt an object by half-saving it. Etc. Again, don't bother explaining how this works yet; just give them a scripting runtime hooked up to a Minio instance.
After they get that, you can ask them what they'd do if they needed to create an object that wouldn't fit in memory. Then you can explain block devices, as a "place where large scratch buffers can live"—but don't force them to figure out how to allocate those buffers from the block device! That's gonna pull in a whole bunch of prerequisite teaching. Instead, pull out another API: Linux's LVM. Logical volume management takes block devices in, and spits block devices out. The logical volumes are the scratch buffers. Explain mmap(2), and how these buffers end up a lot slower that memory buffers. Explain how these buffers survive a disk crash.
After you get to that point, then you can explain that all the other ways computers durably store data are built on top of these logical-volume durable scratch buffers. You can explain how LMDB works in terms of disk pages; and then you can explain how a content-addressable storage works in terms of combining an LMDB-like KV store with hashing and splitting.
And, after that—if you like—you can explain that sometimes, when we need something that's like object storage but where everything in the storage bucket is actually a tiny scratch buffer, we use filesystems. You can explain what an "extent" is by talking about how something like LMDB, that has a "freelist" of pages from its underlying logical-volume, can reserve a contiguous set of those pages and then let something else access them. Then you can explain a filesystem as a key-value store that has buckets called "inodes" with page-range keys, and extent-address values. (And an associated versioned object store of directory-objects, where each object is a serialized list of records (dirents), each containing a reference to an inode and giving it a name and other stuff.)
Filesystems are hard!
Huh, no. Just show how the FAT file system works. It's still used on USB drives.
Now that you have a simple model for the low level, you can gradually add complexity such as standard file operations, caching, wear-leveling, etc.
You say Minio instance, I say hex editor.
But the point isn't to teach students about a filesystem; the point is to teach students what files are when they don't understand why you'd even want the abstraction that "files" represent; when "files" aren't an abstraction they're familiar with compared to other abstractions. You have to justify "files" in the context of things they do know—to explain what purpose files would serve if they were invented today; what reason you'd introduce a filesystem into a data architecture that had all these other things (KV storage, object storage, logical volumes) but not files.
Students would ask: Why are files streams? Why are the streams arbitrarily writable, when this means files can become corrupted from a partial write? Why are files extendable, but only at the end, not in the middle or the beginning? Why do files have names? (And, once you explain inodes+dirents, they'll ask why there's a directory tree if hard links exist; and why it's the dirents that have the names, but the files themselves that have the other metadata—xattrs; alternate data streams, etc.) What is the difference between a file stored in a directory, a file stored in a filesystem stored in a mounted loopback image stored in another file, and a file stored in a subvolume or filesystem container? Why do directories need special system calls to read and write them? Why is a virtual filesystem used in many OSes to represent kernel objects like named pipes and device nodes? Etc.
(This isn't even a hypothetical; engineers at AWS and GCP probably had to answer this very question when asked to justify building EFS and Cloud Filestore. Why do we need a filesystem as a service, when we already have these other services that provide these other abstractions?)
This is not altogether unlike teaching a student what a programming language is and why you'd even want one of those, when they're immersed in an environment where software is created without them. Would you just sit down and show the kids C, because it's small and easy-ish to understand?
A filesystem is a data-storage abstraction, like C is a machine abstraction. But neither are primitive abstractions. They build on numerous other, theoretically purer abstractions. It's much easier to explain the motivation for the creation of a language like C, if you already understand the motivation of the creation of a simpler language that rests upon fewer other abstractions—like ASM, or like Scheme. Likewise, it's much easier to understand the motivation behind the creation of the abstraction that is filesystems, if you already understand the motivation behind the creation of simpler data-storage abstractions, like logical volumes or memory-page-backed search trees.
"Files" are a very specific abstraction; thinking they're the only way to transfer chunks of data around is a symptom of lack of imagination. There are very similar abstractions to files, such as object-store objects. The only practical difference between files and objects is that updates to objects are transactional+atomic, such that nobody ever sees an "in progress" object. But an object store (backed by a block device) is a simpler system than a filesystem (backed by a block device.)
You can control the objects that represent your data. You could also control, via an RBAC-like system, the K-V or tuple-store records that represent your data. Or the Merkle-tree commits. Or the blockchain transactions. Or the graph edges. Or the live actor processes holding in-memory state. You can transfer all of these things around between computers, both by replication (copying) and by migration (moving.) What do files have to do with any of this? An accident of history is what.
They are the most successful and versatile mass way to transfer chunks of data and define ownership in the history of computing.
I’m sure an RDBMS or a graph DB can do those things as well. But no one has succeeded in doing it even close to as effectively as files managed to. And many have tried. In fact, probably the greatest computer software failure of all time, Windows Longhorn, was largely a failure in trying to replace a file based system with a graph DB based system.
People very much can imagine alternatives. There are no shortage of imaginable alternatives. There is a huge shortage of successful in use alternatives that are as versatile or effective as files.
And downloads would also be objects. Because, when you think about it, at least over HTTP, downloads and uploads already are of objects—the source doesn't get allocated a scratch buffer on the destination that it can then freely seek(2) around and write(2) into; instead, the source just streams a representation to the dest, that gets buffered until it's complete, and then a new object is constructed on the dest from that full local stream-buffered copy. (WebDAV introduces some file semantics into HTTP's representational object semantics, but it doesn't actually go all the way to enabling you to mount a DBMS over WebDAV.) Other protocols are similar (e.g. FTP; SMTP.) Even BitTorrent is working with objects, once you realize that it's the pieces of your files that are the objects. Rsync is the only weird protocol, that would really need to be reimplemented in terms of syscalls to allocate explicit durable scratch buffers. (That and SMB/NFS/AFP/etc., but those are protocols with the explicit goal of exposing a share on a remote host as something with filesystem semantics, so you'd kind of expect them to need filesystem support on the local machine.)
Now, want to know something interesting? We already have this. Any inherently copy-on-write filesystem, like APFS or btrfs, is actually an object store masquerading as a filesystem. You get filesystem semantics, but they're layered on on top of object-storage semantics, and it's more efficient when you strip them away and use the object storage semantics directly (like when using btrfs send/receive, or when telling APFS to directly clone a container.) And these filesystems also have exactly what I mentioned above: special syscalls (or in this case, file attributes) to allocate scratch buffers that bypass Copy-on-Write, for things like databases.
There's no reason that a modern ground-up OS (e.g. Google's Fuchsia) would need to use a filesystem rather than an object store. A constructive proof's already there that it can be done, just obscured a bit behind a need for legacy compatibility; a need that wouldn't be there in a ground-up OS design.
(Or, you can take as a constructive proof any "cloud native" unikernel design that just uses IaaS object/KV/tuple/document-storage service requests as its "syscalls", and has no local persistent storage whatsoever, never even bothering to understand block devices attached to it by its hypervisor.)
I didn't say they were the only way to transfer chunks of data around. I said they were the units of ownership of data. If your data is somewhere in a huge RDBMS mixed together with lots of other people's data, you don't own it, because you don't control its fate; whoever owns and manages the RDBMS does. The same goes for all the other object control and storage systems you mention: individual people who have personal data don't own any of those things.
I'd also want to teach beginners in a way that lets them keep building and tinkering outside the environment I provide for them. This is where I'd love to see schools providing and encouraging the use of hosting space and resources like Minio, so that students can just count on them being available.
At the same time, I can see a great equalizing force in all this. Computers have reduced the technical acumen demanded from their users to the point that owning a computer and using a computer and even being a "computer enthusiast" doesn't put you very much ahead of anybody else on-average when it comes to starting out towards becoming a computer scientist. I think this, in combination with that everybody wants to be a software engineer these days, will eventually put us somewhere around the 1970's in relative terms with regards to technical literacy in the cohort of incoming computer science students. This might sound nightmarish to the current establishment, but it has at least a positive side-effect: computer science is getting more accessible because teachers can no longer assume that pupils come from a background of "quasi-technical" computer literacy (again, this is because conventional computer literacy has become decreasingly technical in nature).
I've heard one of the general causes behind the lack of diversity in gender and economic-background in tech workers is, at some point around the mid 1980's, CS instructors started asking of their students tasks like: "Open your editor and type..." and someone in the classroom would raise their hand and ask "Ah, um... what's an `editor'? And by the way, I don't own a computer either" and the instructor's reaction would be to privately advise that student to seek a different major, at best, or open derision at worst.
So I think we're getting away from that, which is at least a way to look at the bright side. It does make the teaching job a bit more challenging.
On a more personal gripe, a minor irritation of late is the number of students who want to do their OS homework in the Windows Subsystem for Linux, instead of even setting up a basic VM.
That's easy to solve, and can give the students a history lesson.
Give them some tasks that work with ~/con :)
Or you can have them work with files all named the same but differ with case. Windows based machines get "confused".
First-year CS students (middle school or high school) with experience using Apple products don't have a concept of a filesystem. The shift to auto-saving documents also corrodes the intuition that files get stored on disk in some non-magical way. In the same way that it's now easier to teach networking and graph theory because youth experience identity and relationships this way, it's now a lot harder to teach lower-level abstractions. In my experience, this has changed over the last five years.