People mistake the internet’s knowledge for their own
pnas.org
pnas.org
My style of coding is very intimately connected to having access to online resources. I regularly search for things like how to concatenate strings or the syntax of a for loop in some language. I also use the internet for higher level things like how memory management works on some system, or how something like an ECS architecture works. I also spend a lot of time looking for the right components to put into my own systems, so if GitHub were down it would bother me.
Basically I'd be useless without the internet. The coding tools themselves, all the examples of how to use them, and all the actual knowledge about how everything works is on there.
Perhaps the only thing that's actually my own input is the judgement about what things are important, which sources are reliable, and which people are authorities.
Many would ask to see the page I'd read and I'd show them and they would ask how I got my code working from an example that had nothing to do with what our task was.
I think there is a lot of value to looking at a SO answer, generalizing it and making it work in your code and doing it quickly. Knowing which SO articles are junk and which ones are gems is something many take for granted but is actually something close to having the right 'gut' feeling.
I don't remember the line of reasoning or detailed investigation that led to the solution, but I found something in a build configuration file that looked suspicious enough to warrant a search for an exact phrase in the code. It turned up a StackOverflow answer, where three lines had been cut and pasted into the build file.
There was some specific change in a library or binary upgrade that had broken the thing that this particular change was meant to fix, and the problem was solved by removing the lines in question.
The commit comment for these three lines was "merge hmmmm", which was also the only local documentation I found that I could have used to cross-reference with anything else.
Some point to that as an aspect of the replication crisis, but it's really just the nature of identifying and abstracting common elements out of specific goals.
This will probably get downvoted but I disagree with this.
IMO you should never be "generalizing" random pieces of code. What you should rather look for is help in augmenting your own logical reasoning process: e.g., I want to transform X to Y with BigO of Z complexity, how do I do that? Look for stuff that helps you understand how to do this. Once you do, you shouldn't need to generalize other people's code.
I don't mean to say that you should reinvent the wheel. Rather, you should understand that you need a wheel to solve your problem - where you get the wheel from isn't really that relevant (except for copyright, licenses etc but that's a separate topic).
Legal textbooks are the best example of a reference I've seen: the index is grouped by legal concepts and terminology, and is impenetrable to non-lawyers.
Like jargon, it gatekeeps; but that's not its only purpose.
When I had to actively memorize I paid way more attention to what I was doing. I think the online search multitasking is honestly very bad for sustained attention and very passive. As an alternative I started to look up library code directly and just read and I feel like I learned more about how python worked in a few weeks than I did in months or so of just typing things into google.
I'm very much from the opposite camp. I learned to code in C in vi and didn't really have anyone to ask other than the manpages and the K&R book, I'm pretty sure I didn't even use syntax highlighting.
I do think this has shaped my programming even later to where I stubbornly stick to boring but stable programming languages like C, C++ and Java, and these languages I've used for in some cases almost 25 years and where I virtually never have to look anything up. It's not like I haven't dabbled in other languages and paradigms, like python and haskell and whatever; but it's not those languages I use when I need to build something. I just don't see the value in constantly learning all this flavor-of-the-month stuff. When the dust settles, most hyped upcoming programming languages become footnotes when the history of programming is written.
I do agree that quickly jumping to an online reference because you can't remember the order of the parameters for a particular method is a crutch that if you were forced to remember would remove that slow down. But at least I'm able to remember the correct method vs having to search for which method is needed and when.
I don't really know what the take-away is. This isn't a fast way to learn to program, or an easy way, and I'm not even sure I'd recommend anyone learn this way, but I also can't deny it's brought some very tangible benefits.
Everyone learns differently.
I am not surprised changing your approach helped you to improve your skills. But if someone were to use online search to say... find the library code, and read the manual, they'd likely get similar results to yours, right? ;-)
https://youtu.be/h1t14GnnQhc?t=20m15s
INAZUMA KICK!!!
n.b. I program like this too, just plain Emacs and I try to remember API and package names before consulting Dr. Google. The IDE trying too hard to help me is hugely distracting.
If you're coding in emacs, do you self refresh the pages?
More generally speaking, most people today would be incredibly frustrated getting information about anything generally if they were plopped down 30 years ago. When I was a product manager back then, we paid consulting companies large sums of money to get the most basic competitive information faxed to us because you couldn't just look it up.
As a new developer, this is what I am doing and focusing at. Not be reliant on the internet and it works. Because I have several books and for example I can read Mozilla MDN offline.
I use a website/app and books, the website updates itself. But for some things I still need to look elsewhere than Mozilla MDN, e.g W3.org
Mozilla MDN is pretty much the last thing I’d prioritize for offline reading, since it’s relevance is tightly coupled to the availability of the network.
I might prioritize offline resources for Raspberry Pi and other computing platforms, that make more sense without the Internet.
But above that, maybe a few books about growing food in one’s own garden. :-)
There's a difference of building a reference library for home use or homesteading, crafting, etc than say working for 8 hours on a coding project directly tied to the need to use the computer. Computer languages/libraries/etc change frequently enough printed books become obsolete fast. How/when to plant, what to feed them, etc hasn't changed too much for generations. Nor things like when to use a dovetail joint, or other building techniques. Books from the 1900s would be just as useful today.
Nowadays I've always discovered that I'm not the first person to ask.
Just a small example, I imagine there are a lot of JS developers who know that they need to create a new function using “=>” or “.bind(this)” if they need access to “this” within the function… and if they don’t, things break, without really knowing why (even though they know the solution).
TLDR: the best developers I’ve worked with go beyond “knowing the solution” to “knowing why the solution is the solution”. Understanding “why” something is the way it is becomes difficult when something like Copilot autocompletes the correct answer.
Sometimes pulling an all nighter and beating your head on the wall is less productive than just stopping to take a break and coming back at it with a fresh mind. FAANG PMs don't get this and probably think less of you because your Zen like approach is anathema to their fast paced do or die approach now. You can't be productive if your butt isn't in the chair.
Literally went to the library to read books on IR and make sure I understood what the doc was saying. Asked around to find people who worked on these kind of sequencing. Went to a small repair shop and bribed the tech to give me hints on how remotes work.
It was fun in retrospect, maddening and incredibly taxing at the time.
I don't think we did anything fundamentally wrong, short of underestimating the problem space. It's also not as if I was left in my corner for weeks, I got pretty good advices (like go finding more help and returning to basics). Getting info before the internet, before makers got into habits of published maintenance manuals etc. life was just way harder.
But it was less stressful, because you didn't have daily standups and biweekly sprints.
Leet code interview question where I could just find the answer in 5 seconds with a google search, might actually be good interview questions if they just let me use a google search.
You still have to know what to look for.
Being good at word problems in math I think are the only place where “being a math whiz” is what it takes to be “able to code”. How you setup your equations to solve a simple algebraic word problem, can make solving the word problem super simple, or more complex.
My kids do Singapore math, and holy crap does it force you to think about other ways to approach solving problems, a valuable skill.
Do you have any resources yo share? about Singapore math in English?
I’m always trying to solve the damn problems with an algebraic equation that is way more complicated, and my kid draws a bunch of bars and things and effectively does algebra but with what ends up being actually a simpler equation.
I believe this is the real reason spam-answer/grifting sites are so bad. They pollute this shared commons of freely available information. From a policy recommendation I certainly hope these free resources are kept in place, timely, and free from spam/SEO farming.
The “own” snippet that comes up the most often for me is a binary-search implementation of integer cube root in Python - I know how to do it but the edge cases trip me up enough times that my pre-written answer is faster than trying to write it from scratch.
I Googled a problem and then found my own answer from years ago!
Old me was much smarter apparently! :-D
Certainly some things were harder and slower, but if forced you to use your brain more and think through some types of issues. You rarely got instant gratification of reading someone else’ solution to your weird problem or error.
It forced you to really look through the source code and think things through from first principles. To understand your runtime (C programs barely have a runtime really, but it still exists in complex programs that must run for long periods like a MUD). It forced a deep knowledge of your tool chains and made you really good at them. It forced you to be more narrow but also creative and deep. From a first principles perspective it taught me ways of working that are different to younger programmers, and even modern me. Often looking something up is right. But sometimes you are best served by learning something for yourself, through source code and such. I learned so much looking at other code based and constantly asking “why?”. Why is this code this way, etc. I can’t say if it’s better or worse, but I got really good at MUDs and it turned into a long career in tech with no degree :)
I briefly ran a PK-focused MUD (hosted on Wolfpaw) and remember being amazed at having 15 players online simultaneously. I was ultimately forced to shut down the MUD by my parents, because working on it started negatively impacting my preparations for final exams.
I'm not sure, but I suspect it's that it was the technology improvement more than it was my improvement.
What I find is that it can be faster to just look at the documentation that comes with the tooling. Usually a good stack overflow answer is just regurgitation of something that's already covered in the documentation that the asker clearly didn't read a lick of. When you start using a new tool, just skimming the documentation end to end can but you at such an advantage and set you up to get working with the tool in the correct way with a decent understanding of some of the caveats that might be at play with your particular use case (which is rarely something that can be gleamed from a terse stack overflow answer). Even just a pdf covering a language can be handy to thumb through the chapters and revisit common patterns like for loops that can vary in different languages, once again its easier to trod down a familiar pdf textbook than it is to try and trench up something relevant from google search these days.
If you already have a working pattern that you're just modifying, you might get away with just looking up documentation. If you already have a strong foundation and know exactly what you want to do, then you're just looking up the syntax.
Maybe another analogy might be, learning vocab to better express your thoughts, vs looking up the exact spelling of a word you already know.
This is more or less what I got out of the 2nd half of my higher education. Plus I got a ton of reps in, so to speak, to really refine my judgement and ability to research. It's the old adage about learning how to learn, teaching one to fish, etc. I'm sure this all applies to many fields, but especially one like ours that changes rapidly. Thanks to this education, I feel like I can switch careers pretty easily.
I make no mistake about it. I don't feel like I know what I know without the help of the Internet; I feel like I'm just some bloke who is good at sussing out what's important and how to apply it to my job. I think this is a skill that is missing from a number of my colleagues though.
The major difficulties are indeed around the things you mention, but one solution for that is having a few large projects open in another IDE window so you can search for functions, idioms, algorithms, patterns.
I guess I got used to it because I started coding professionally before Stack Overflow. There was Expert Sex Change, but it sucked, so I avoided it like the plague. It was mostly C#, so the combination of Static Typing + Intelisense also helped me not needing internet. Before C# I coded in Perl, so seeing other people's code wouldn't help anyway ;)
We used to have these little folded cards with the complete syntax of Pascal or C and that would be enough. Nowadays, you don't even know all the languages and libs that are in a given stack.
E.g., there are languages where the offline manual covers 99% of all your needs. I include bash and c, octave, matlab in this category.
Then there's languages that feel the offline docs are best left ad an afterthought, and focus most of their effort either towards funky online documentation websites, or effectively relegate it all to stackoverflow.
I'm fine with the built in `man` command, and of course offline documentation for almost everything. It's actually kind of weird that our first instinct is to waste internet bandwidth while we probably have a copy right with us.
Exactly, yesterday I wanted to to have DNS over HTTPS and if you're going to search for it, you have to do a lot stuff. When there's the manual and literally and says that you need to add two lines and uncomment the specified comment.
I'm happy with man.
I know it's sometimes easier to google particular questions and that some projects lack documentation, but many if not most programming tools include very good documentation in the same package. And many include their source too.
I think saying you'd be useless for lacking online access to that knowledge is an exaggeration.
Not being able to pull new dependencies is more problematic, in my opinion.
Programming information tends to be easily verified so organizing it's skill around filtering google, stackoverflow and so-forth is fine. The resulting program can be tested fairly easily.
Uncritically taking in other sorts of claims can be very problematic.
It seems like mastery and knowledge just for the sake of it is less of a priority these days. Why bother wiping your ass when the cloud can do it for you?
Relying on a reference as a guide is not necessarily a sign of a lack of mastery any more than not using a reference is a sign of mastery. Sure, there is always the possibility that a reference won't be available when you might need it, but for the obvious exception, perfect recall is not what mastery is about.
Memorization is not all of mastery but it sure is a large part of it. Like, I get it, I can't memorize for shit and I rely on Google/SO to an uncomfortable degree for programming, but that is more because they are the most convenient. If you can't function because Google is down, when you should be looking in an offline reference like a local copy of the docs, library code, a man page, or a book, then I would consider that to be a pretty crucial gap and weakness in technique. Resourcefulness is another component of mastery, and, frankly, even more important than memorization in my book.
It's the same thing for so many other parts of life... just because you use Google Maps to navigate doesn't mean you shouldn't also know how to read a map and navigate on your own.
Not at all. Memorization is a common side-effect of mastery, just like mastering a lot of physical activities tends to have a side-effect of improved strength, endurance, etc. No question there's a lot of correlation between memory and mastery, but that's not the same as being an essential component of it.
An elderly master of a physical activity might well have a significantly deteriorated physique and still have mastery, and dementia patients can retain mastery of musical instruments, jigsaw puzzles or contract bridge (even if they can't name the suits, let alone articulate simple bidding rules) despite severe deterioration of their memory as applied to those specific skills.
> If you can't function because Google is down, when you should be looking in an offline reference like a local copy of the docs, library code, a man page, or a book, then I would consider that to be a pretty crucial gap and weakness in technique.
You might consider it a crucial gap and weakness. I might frame it more positively, that it's a great advantage to NOT have to rely on a reference tool. However mastery does not preclude weakness. Heck, master writers like Robert Caro, J.K. Rowling, Neil Gaiman, Joyce Carol Oates, Stephen King, Danielle Steel, and Don DeLillo have spoken in detail about being dependent on their old school tools and are unable to take advantage of the benefits of modern writing tools, and there are other writers for whom the reverse is true! No one suggests they are anything less than masters of their craft.
Certainly, resourcefulness is an important skill, and a resourceful person with poor memory will have lots of ways of getting by without having to remember things. However, there's a bit of a limit to what's reasonable and important for mastery. Sure, a resourceful soccer player can still apply their craft without a ball or a field, but really, how useful is their skill? In distributed computing, people often absurdly complain about how an application node behaves when the network is down, which raises the interesting question of what work the node might be expected to do in that scenario. Similarly, when a software developer can't function without a working computer, or if their network connection is down, that's not great, but might not be all that important if the development work they are doing is entirely dependent on those tools anyway.
> It's the same thing for so many other parts of life... just because you use Google Maps to navigate doesn't mean you shouldn't also know how to read a map and navigate on your own.
This is a good example, and not just because reading a map and using Google maps are different skills. It's a good example because one can have mastery of map reading without necessarily having memorized a single map or geographical layout. Heck, maps have legends specifically so you don't have to remember much about them in order to use them effectively. Memorizing geography would be a distinct form of mastery separate from map reading.
I think it's entirely possible to work offline first and foremost. You'd need the documentation for everything local. Operating system, programming language, libraries, frameworks, etc. Mass storage makes this more practical now than ever.
A lot of projects don't provide very downloadable documentation which would make it harder and, of course, you'd miss out on knowing when the documentation is lying.
The biggest problem with it is probably nothing intrinsic, but the fact that you'd be swimming upstream doing it.
I remember when I was at the South Pole I had to queue my internet queries for when the satellite was up.
For example, I find that when I'm working with an API enough that I am frequently looking up the same operations, investing twenty minutes in identifying and reviewing the important operations, as if I were preparing for an exam where I wouldn't be allowed to consult external resources, pays off in fluency and immersion.
Another example is that when I am reading a history book, before I start, I review relevant names and contemporary dates. Then when I find myself thinking, "Wait, at this time, how long ago was X? Has Y happened yet?" I can answer from memory. This gives me a richer reading experience than if I needed to remove myself from the context of the book to look up those dates.
I know memorization is seen negatively from a pedagogical standpoint, and schoolchildren find it alienating and discouraging, but I think when you have enough experience to understand the value of it, so that the work to achieve it isn't such a negative experience in itself, judicious application of it has a lot of power to make your work easier and your learning experiences richer.
https://www.theatlantic.com/education/archive/2013/09/when-m... - Article I read years ago on this, I think it helps to frame the debate of memorization vs anti-memorization. In particular this sentence:
> I define memorization as learning an isolated fact through deliberate effort. [emphasis in original]
I'll emphasize isolated fact. A lot of people who say memorization and rote learning are bad or ineffective are probably framing it in the same sense as this author. They (mostly, there are exceptions) aren't arguing against committing information to memory, but of committing information to memory with no (or minimal) understanding attached to it.
If you just learn isolated facts, you become a meat sack Chinese room (https://en.wikipedia.org/wiki/Chinese_room). You can't connect the dots and perform the real interesting work of synthesis (combining information and ideas) or derivation (from what you know, determine new results). The author talks about students "knowing" that the sine of pi/2 is 1. What do they actually know, though? What can they do with that fact on its own without any understanding of what "sine" itself means and the contexts in which it is used?
Knowing how to look up and apply things is nice. Being able to discern which of the things you looked up are worth memorising, and then actually doing so, is even better.
By contrast, the critique of rote-memorization in education is that students have their time/effort/educational-opportunity squandered in courses that ask them to memorize information incongruent with expected utility. For example, kids had been asked to remember elements of a fictional narrative, or specific dates or factoids about historical trivia.
It's more of an issue of (cache/memory)-management and when/what information ought to be retained rather than an issue of memorization always being good/bad.
Generally, the critique of education is that students ought to be learning how to think and operate rather than memorizing trivia. Of course, learning to operate effectively can involve memorization at times, e.g. retaining an appropriately-tuned working-cache of relevant information, though exams that basically force students to waste their time/effort/opportunity memorizing trivia seem counter-productive.
---
Hard to explain this, but it's important, so...
I think one of the worst parts of rote-memorization in education is that it messes up the mind's internal prioritization scheme, which I think makes people stupid.
For example, when someone's doing a math-problem, they need to remember the numbers that they're working with; such things ought to be retained in the term in which they're used, as required to do a math-problem.
For another example, when someone's studying a historical-happening, they need to remember dates, names, and so forth, well enough to piece it together. Though like with math, they ought to be able to write such things down or look them up, as appropriate; there's no value to memorization that goes beyond its utility in caching.
So, when a teacher asks their students to memorize dates, it's not that they're wrong in the notion that a good-student ought to, at some point, have memorized the very things they're asking the students to memorize. Instead, the teacher's big screw-up is that they're asking students to elevate such minutia from cache-trivia to deliverables. Alternatively, they're asking students to treat their mental-cache AS a deliverable.
And that's what I fear would make people stupid, because that's not how a healthy mind would seem to operate. This is, a healthy mind ought to have an efficient, tuned cache-management system; it's a mental-sickness to try to train one's cache to reliably operate over the course of days or weeks, as students had sometimes been asked to to regurgitate trivia on an exam.
Instead, a healthy mind ought to have an internal feel for when/how trivia is useful, then retain it accordingly. And a healthy mind shouldn't be obsessed with a fear of failing an exam for forgetting something; that'd be like designing a CPU around the ideal that a cache-miss is a critical-error.
In short, I'm trying to stress that it's not as simple an issue as memorization always being good/bad, but rather it's an issue of rote-memorization training students to engage in poor mental-hygiene practices, messing up their ability to think efficiently. (Obviously, this is in addition to the normal objection that students end up missing out on a real education.)
I think that's the student's point of view, but as a teacher will explain, not every part of the process is the ultimate goal. Teachers tell students that awareness of basic facts from the reading will help them get more out the class discussion tomorrow, help them get more out of the lecture, give them a head start on further assignments, etc., but to most of them that just goes in one ear and out the other. They really don't care if the class discussion happens without them and they don't understand a damn thing and the class is a total waste to them. So the teacher also has to tell them there's a quiz on the facts tomorrow and follow through on that promise. Then the students who are just want to do the minimum to get a certain grade also get a little bit more out of the class discussion, which they wouldn't have otherwise.
In the end, not even knowledge of history is the ultimate goal. The ultimate goal is something like the ability to use historical perspective to better participate in society and make decisions about their own lives, historical perspective that they pursue and deepen throughout their lives. Teachers can't test that. They can test, and motivate, constructive steps towards that.
I have been "weeding" my paper books, especially technical books over the last couple of years and gotten rid of an entire bookshelf of books. I still have an entire bookshelf with Knuth TAoCP, math books, type theory, graphics, graph theory, control theory, physics and some nostalgic books like my original Motorola 68000 processor guide, Rodney Zaks Z80 book, "Adventure game programming in BASIC", Commodore 64 Innerspace Compendium, etc.
When a puppy chewed up my copy of "Linux in a Nutshell" I was tempted to buy the new edition but decided to try it online for a month with O'Reilly Safari through work and have not bothered to replace the paper copy for more than 2 years.
I would categorize the main change in style of memory as a shift from focus on remembering details and facts, which I can look up, to using memory for decision trees, processes and methodologies which either can't be looked up or are significantly personally customized. I consciously "outsource" the simpler and to me, less valuable, aspects of memory. Some of this is handled automatically by the IDE I use and the rest is done with mostly Google searches.
> Why learn something in depth when it can just be looked up?
And the answer is that you can't daydream about something or think about it deeply unless that information is easily pulled up from your memory. Daydreaming, out the "default mode" of the brain organizes and helps is too understand information. If I had taken the care to study and memorize information regarding, well, everything in school, via a tool like Anki, I would have a lot more information that I could use to connect disparate ideas together. The brain can't do this to the full extent possible unless that information is memorized.
That being said, it's important to know that memorization has a cost in time. The time for a single data point is low, but 20-30k data points in Anki is a serious time commitment.
If it's important to you, memorize. The benefits are huge, and it will help too ward off mental declines later in life.
https://www.goodreads.com/author/quotes/9810.Albert_Einstein
and there is :
"Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking"
https://www.quora.com/How-true-is-Einsteins-statement-that-R...
I slightly disagree. I do agree that the end goal of having the information memorized is important, but drilling flashcards never worked for me. What makes information stick is drilling practice problems that touch on the knowledge to be memorized until it's established. It's more useful for recognizing when those facts will be relevant, too, compared to having a memory silo of 10,000 stored facts.
Every piece of knowledge has things you can do with it, things that relates to it etc, understanding how to work with the knowledge is the important part to learn and what you don't really learn by just looking it up on the internet. Basically you build interfaces and connects them and create a large structure of things you can do and apply to all sorts of things.
This reminds me of leaning math. At one point “doing math” meant calculating numbers, like memorizing multiplication tables or performing long division. I was always relieved when the teacher said we could use a calculator on a test. But at some point I came to realize that math is not calculating. Math is about relationships between numbers and their general properties.
Googling facts is akin to using a calculator. Extracting meaning from that jumbled pile of facts is knowledge.
Knowledge isn't just the ability to produce true statements, it isn't knowing what things are or what things will be, it's knowing why things are and why things will be.
If I keep guessing coinflips, I don't have knowledge of the answer 50% of the time even though I can predict them that often.
Knowledge has an aspect of understanding why things are, not just that they are, and that aspect becomes incredibly weak with the "look up facts on wikipedia"-model of external knowledge.
The JTB-model of knowledge is probably incomplete, but it's arguably less wrong than a model that doesn't contain justification.
Sorry to get off topic, but I think this is an interesting way of thinking about this. I wonder if it represents any kind of larger difference in our worldviews. I would say that we have knowledge of the answer 0% of the time. If we guess and it happens to be correct, that's a coincidence, not an indication of knowledge.
IMO this goes hand in hand with thoughts I've had about the concept of mistakes. When I used to dabble in day trading (I've been clean for a few years now), I gained and lost and gained a lot of money. Whether any particular gamble ended up as a gain or a loss, I consider them all mistakes because I had no rational reason to expect any of them to pay off.
My uneducated hypothesis is that whether somebody thinks of a successful gamble as a mistake or a good decision could be a decent predictor of certain personality traits and political views. Maybe the same applies to the question of whether being correct implies knowledge.
Our best modern models for both biological and artificial intelligence indicate that concepts or knowledge* emerges from networks of sensation/facts/data.
* Specifically referring to "system 1" cognition, which is what the article is ostensibly targeting.
The question is what we mean when we say knowledge. I don't think modelling is a good way of answering that question. Of course there is going to be a connection between perception and knowledge, how else would the knowledge enter us? But David Hume could have told you that.
It is virtually impossible to teach an abstract concept like "cup" without a) providing real, sensory examples of what you mean by "cup" or b) relating to analogous concepts that the student has already learned through personal experience (like "bowl" with "handle") and is capable of communicating.
It's very hard to teach someone who has no relationship with the world, but you don't need a large set of concepts to synthesize additional concepts. You can derive most of mathematics from a few simple axioms. Democritus concluded the world was made of atoms based on observations about how the world appeared to work, on encountering problems like Zeno's paradox. Knowledge, as well as language, is all about how things relate to each other. Words to meanings, causes to effects.
Yeah, nothing is stopping you from building towers of abstractions that are N degrees from any real experience or data. But those heavily-derived concepts are prohibitively difficult to teach and communicate, because each level in the abstraction hierarchy adds semantic noise. A major reason why classical, "pure" mathematics pedagogy is infamously ineffective.
Ultimately, every great mathematician learned to count with rocks or apples -- not by internalizing Peano's axioms.
There of course needs to be a common set of ideas to communicate, but I'm not convinced you need one particular set. In many cases, having some of the ideas means you can synthesize the rest. You could for example reason about numbers by drawing upon size rather than quantity. Then you basically end up with the Euclidean method, a mathematics of proportion that goes a surprisingly long way.
If there is any primal, axiomatic concept, it is "object"/"thing". From object you can derive quantity (many objects), from quantity you can derive quality (two objects are different), and so on and so forth.
In some languages the name for door is the same as the name for mouth, and a door is a bit like a mouth so it makes sense to relate them. All language is metaphorical like that, except not always as explicitly. When we say a thing is an object, we say that our concept of that thing shares similarities to the concept we have for objects.
It is impossible, by definition.
For somputer systems, the speed at which data can be accessed has a transformative effect on the algorithms that deal with it. I think this is the case for humans as well.
Take LRU caches for example: it doesn't do us much good to devote that valuable memory space to information that isn't being recalled very often.
Intelligent people tend to think that you do not need to memorize because everything is out there at a button-press distance. But they do not realize that what makes the intelligent is that they can memorize lots of things without effort.
I play board games with my friends. We all know all the rules of the game, although we took varying amount of times to memorize these rules. Yet some of us come to dominate the game play. To the degree that there is correlation between the speed with which someone learns the rules and the percentage of time they win the game, I do not believe there is causation. How could there be? One would have to believe that once everyone has all the knowledge in the system, those who memorized that knowledge faster still have an edge because they memorized the knowledge faster. That's difficult to believe.
There are also fidelity issues. Suppose half of the facts or ideas you recalled were corrupted, or most of your retrieved memories were misassociated or irrelevant?
An important distinction is that calculators tend not to lie or make honest mistakes when producing facts.
Quantity has a quality all it's own.
Having vast amounts of external knowledge available for rapid access offers unique capabilities. Skill at searching as well as quality of search tools can enable people to do things that would have taken far longer just a couple decades ago when any given search would have involved dead-tree books.
Perhaps we should start thinking of google and other such tools, not as poor substitutes for knowledge painstakingly internalized, but rather, an augmentation of human intelligence that grants humans rapid access to far more knowledge than any single human could possibly internalize in a lifetime. As these tools improve, this augmentation effect will become more pronounced, as will the deleterious effects of being cut off from the internet.
The blurring of lines between internal and external knowledge may also intensify with future technologies. e.g. Wetware out of a William Gibson novel lets people with data jacks install modules of mental expertise at will. Will an article like this even have meaning once people can look up a module of deeply internalized knowledge and install it in an instant?
One day, the Internet's knowledge may be indistinguishable from our own.
The problem is similar to not looking and determining what the information of the article you Google is. This feeds into the now stereotype behavior of someone confusing a Google search with actual research. Google doesn't help with it's question-answer section, many of which are mis-categorized and from not-necessarily reliable sources.
Quantity has a quality all it's own.
A large quantity of poor quality of information is certainly not something that it would be useful to have automatically pouring through one's cranium, to say the least.
Q: You won more than US$2.5 million dollars over 75 episodes of “Jeopardy!” How did you do it?
Jennings: I’ve always considered myself to be a very curious person by nature. If I don’t know the answer to something, it’s like a mystery I need to solve; it spurs me on to find out more information. I read just about everything I can pick up, I watch a lot of movies and I also like to enter my questions into Encarta; it’s a great digital encyclopedia with the answers a mouse click away.
https://news.microsoft.com/2004/12/06/q-what-are-ken-jenning...
At that moment I realized the Internet had become part of my my "memory". The feeling wasn't "I can't look it up", but literally "I can't remember."
I can't remember the study now -- perhaps fellow HNers can -- but there is a study where they asked a group of people to take a side in a debate. The debate was structured so that it sounded like A was the intuitively better choice, and when polled almost everyone agreed the group would support A. One plant was armed with excellent arguments for B, and when presented with these arguments, the group switched to supporting B. When asked later, they thought they had supported B the whole time.
That's a foible fit for satire. I'm curious whether there is a process of rationalization like I just imagined, or whether there is just a fundamental confusion by the participant about whether they knew the information prior or knew it from the recent internet search. If the later, that could be horrifying (imagine you needed to find out how long Oceania and Eastasia have been at war).
I've read about teachers struggling to convince students of the need to actually memorize things despite the ubiquity of easy reference: you just won't make new connections or insights if you don't have any information already in your head. I would say this study would suggest the teacher's task is even more difficult if people misattribute recent searches for prior knowledge.
At least with news media, if there was a significant error in reporting, that would go out in an upcoming edition. Both would be recorded.
In recent times, news outlets, and other publications, _silently_ update things without issuing a correction or making it obvious there was a correction and the only way you can find out is by the internet archive, if it was there.
People learn arithmetic in school, but often become functionally dependent on calculators or computer. When this happens, I don't have the sensation that I "knew" the right answer, or that I did the calculation; clearly the device did the work. The separation is apparent.
What about when a script or tool you use every day does something you could in principle do on your own, but the computer is far faster and more reliable? Do you feel you "know" how to typecheck your code? Or to resolve dependencies?
I guess that is sort of where you are going?
> When information is at our fingertips, we may mistakenly believe that it originated from inside our heads
reminded me immediately of Chalmers standing with his iPhone in his hand, arguing that there is nothing special in the skull as a location that is required for establish ownership of an idea.
People experience tools as extentions of themselves. If you always have the tool, does it matter whether you've misattributed (and if you have the tool, have you misattributed?)
Are we not tool-users?
Carpenter don't perform as well without hammers; cyclists without cycles; surgeons without scalpels; engineers without mathematics; writers without language.
In my experience, these people have usually integrated Google fully into their own perception of knowledge. They view themselves as totally rational, their views are all evidence-based because they can type the magic phrase into Google and get justification...but, of course, the feeling comes before the source and they have no real understanding of what "evidence" actually looks like. It is very odd trying to have a conversation with someone who is totally irrational but believes heavily in rationality (this is the "source? source? source?" meme of Reddit).
I think this is distinct from the SO stuff. Programming languages are very explicit so it is easy to forget exactly how to do something basic if you do it infrequently (for example, I can never remember how to get an env variable in Python, I do it in every project but usually only a handful of times per project...it is easy to forget) Once you get into more complex problems, you can look stuff up on SO but you still won't be able to do it unless you actually understand what you are copying (in my experience, I have usually copied something, something is slightly different, and then I spend time going through it/reworking/understanding).
Probably not possible these days since it would be hard to test when people already have internet access l, and part of that access can include these things.
But I suspect this phenomenon is not unique to the internet, and would be more generalizable to any readily available source of information. Though the effect would probably increase with ease of access, so the internet would produce a larger effect. I acknowledge this is just speculation though.
Something you recently Googled is your knowledge, for the time being. It is not external.
You may have an inflated sense of being able to retain it going forward, but that doesn't make it external.
It's no different from any kind of learning.
If you're able to recite the information without looking at an online reference it's internal, and if you looked at it a month ago, it's even long-term memory. It might vaporize in another few months, but that doesn't mean it had been merely external.
I'm keeping offline docs for most of the tools I use. For example the Postgres manual is easy to browse offline, and offers a lot of insight into how the db engine works, much more than searching for random bits on SO.
These docs are stored locally on my machine as html files. I have an nginx running just to browse them more easily at http://localhost/doc/
Also writing down things as you learn helps tremendously. I use Zim which is a local wiki application. It's easy to use and I have separate notebooks for different things (like work, programming, etc).
This pattern pretty much mirrors what you would do in school.
> At the Egyptian city of Naucratis, there was a famous old god, whose name was Theuth; the bird which is called the Ibis is sacred to him, and he was the inventor of many arts, such as arithmetic and calculation and geometry and astronomy and draughts and dice, but his great discovery was the use of letters. Now in those days the god Thamus was the king of the whole country of Egypt; and he dwelt in that great city of Upper Egypt which the Hellenes call Egyptian Thebes, and the god himself is called by them Ammon. To him came Theuth and showed his inventions, desiring that the other Egyptians might be allowed to have the benefit of them; he enumerated them, and Thamus enquired about their several uses, and praised some of them and censured others, as he approved or disapproved of them. It would take a long time to repeat all that Thamus said to Theuth in praise or blame of the various arts. But when they came to letters, This, said Theuth, will make the Egyptians wiser and give them better memories; it is a specific both for the memory and for the wit. Thamus replied: O most ingenious Theuth, the parent or inventor of an art is not always the best judge of the utility or inutility of his own inventions to the users of them. And in this instance, you who are the father of letters, from a paternal love of your own children have been led to attribute to them a quality which they cannot have; for this discovery of yours will create forgetfulness in the learners’ souls, because they will not use their memories; they will trust to the external written characters and not remember of themselves. The specific which you have discovered is an aid not to memory, but to reminiscence, and you give your disciples not truth, but only the semblance of truth; they will be hearers of many things and will have learned nothing; they will appear to be omniscient and will generally know nothing; they will be tiresome company, having the show of wisdom without the reality.
So this is not a new concern.
Fast forward to today and search can be done quite a bit faster. And your internal RAM effectively multiplied or perhaps your storage (SSD) became faster and bigger. In that sense what’s become more valuable is not necessarily how much information you can physically retain in your brain/memory but how FAST and EFFECTIVELY you can look up things.
Which arguably is better than the joke ... "Paper Not Acceptable Science" or "Probably Not Any Science"
How many people really learn something completely on their own?
Even tools count as the sum of somebody else’s knowledge, like the computer and language you use even if you teach yourself how to program.
Everyone builds upon the knowledge of billions who came before. It’s not a competition.
data point of one.
It isn't the access of information ( Internet or not ) that is a problem. It is the access to "answer" that is the problem. Or more precisely access to answer without explanation why this is an answer. People no longer "think" if this answer is correct or not ( misinformation ), but presume it to be true. And then they built up a mental model using that information. Which leads to all sort of wrong conclusion. In the old days access to information ( library ) tends to be much better because quality of information is likely millions times higher.
This leads to "way" less thinking. And "thinking", the process to digest information is critical to gain knowledge. The more access you have to answers, the less thinking you have to do. Which ends in a negative feedback loop.
I have been teaching kids these days and making this point extremely clear. It is not the answer that matters, it is how you arrive at the answer that is the most important. Especially in the day of Google. But generally speaking they do ask a hell of a lot "why" :) Part of the joy of working with kids.
My concern is the difficulty of tracking down sources years later without a means of reference. Unless you are actively archiving and organizing those links in a useful way. What we have is more prone to forgetfulness, but also at the time that is our strength. Still a pain though
Also when the "facts" in one's sources change, as we've seen in journalism in the past few years.
Well to some degree. At some stage we will forgo having a smartphone and have Google hardwired to our brain. I think that's where we're heading eventually. Tech companies want to be inside our head (if they're not already). Musk talks about the bandwidth problem of accessing information. If it was super readily available (i.e hardwired to our brain), then we could be superhuman.
This is why we're to some extent already cyborgs, just not in the cyberpunk aesthetic way of being half machine half human, but we're already half-way there with smartphones.
Has he thought about using the eyeballs? I have it on good authority that the eyeballs have a standard fuckton of functional bandwidth.
Does Googling Perpetuate the Dunning-Kruger Effect? https://www.psychologytoday.com/us/blog/the-athletes-way/202...
One with the Cloud: Why People Mistake the Internet's Knowledge for Their Own (2013) - http://nrs.harvard.edu/urn-3:HUL.InstRepos:11004901