everything wrong with free software

 "obedience breeds foolishness"

### [generate-title] other pages: [[beyond-computerphobia]] | treating-computerphobia | [[computerphobia]] | [[letters-to-a-computer-student]] | *originally posted:* jan 2021 if working as a schoolteacher is stifling and prevents you from using adequate teaching methods, one of the ways around this is to work as a tutor instead. this gives you the opportunity to explore alternatives to the rigid and sometimes ineffective lessons, tools and materials that you might have to use in the classroom. changing the school itself is unlikely, but if you document your successes then your story can conceivably be used to argue for better education. the lesson can begin with either a discussion of software or hardware-- for the most part a *learner* will be using both. early 8-bit microcomputers did not always require "software" in the contemporary sense, because they had a demonstrably accessible programming environment stored on a chip that could not be written over; every time you restarted the computer, you got a "fresh installation" of the operating system. whether the learner is fearless, afraid of breaking something, afraid of "rejection" by either the class or some anthropomorphised concept of the computer, there are various things that can be done to desensitise them to that set of feelings and begin to introduce feelings of competence, familiarity and ability. like the character of eliza doolittle in /pygmalion/, if you treat the learner like someone who is capable of being capable, they are likely to become capable more quickly than if you treat them like a hopeless idiot. you dont necessarily need to start with hardware as the focus, though if the concern is over erasing or "messing up" or literally breaking something, some options to get past that include using an older, sturdier machine-- perhaps even one that resets everything (an old rom-based computer) when you switch it off, to make it clear that this computer is always the same when you restart it. you could alternatively take a computer and erase it, to show a "worst thing you could do" scenario, and guide the learner through reinstallation. many operating systems actually have very few steps to install, so showing that "even if you erase everything we can fix it" helps to combat the hype that a new computer arrives by post in a "pristine state" which you can only disrupt by "messing with" features you dont understand. still another option (which is increasingly popular) is to begin with a computer that has no operating system at all, and to demonstrate that it has "no files, no programs at all" on it, followed by demonstrating how to start the computer from a usb disk instead. of course whatever methods you use, youll probably want to teach them to yourself first. but since most resources for teachers and tutors stress products rather than options and basic understanding, it might not be so bad. with more people interested in collaborative learning, it would be easier for learners (both teachers and students) to develop the same skills they hope to introduce in a class or tutoring session. but we can certainly introduce ideas to help them get started. where can you get hardware? the sad truth is that not everybody can. ive seen an amazing story where a teacher in an area too poor for a computer in the classroom went to the painstaking trouble of drawing a very detailed representation of graphical word processing software on a blackboard, because that was available. obviously if you can do hands-on computing, a chalkboard is a terrible way to teach some lessons-- hands on learning is typically better for things you would do that involve computer interaction, but if thats not possible you can sometimes work around it. people were so impressed by his dedication that i believe they donated computer equipment to his class. i had a similar first-hand experience setting up older computers with new software in a homeless centre run by donations. the computers were alright but the screens were bulky and heavy, and if only to give something to the community a local store donated a few flat-screen monitors that honestly worked far better with the physical setup the centre had. helping people encourages others to help people; first do what you can (as with learning, as with helping) even if you arent sure it will be enough, then discover what comes of it. and some lessons (particularly ones less about practice and more about theory) are perfectly alright on paper or by lecture, but definitely try to do hands-on learning as much as possible, within reason. learning is dramatically different when you can try something and actually see it work, and this is one of the advantages of learning with computers or computerised simulations. you can even simulate a computer with a computer; a touchscreen can simulate a physical keyboard (although one that is often tedious to use) and a printer can be used to simulate a computer screen (its actually the other way around; the screen was originally used to simulate a paper printout). software emulation lets you run programs made for one type of computer (even a very old one) on a newer machine, as if it was compatible. but assuming you have any budget at all, you can try to find used computers at thrift stores and ask people you know if theyre holding onto one they dont use anymore. you could be surprised how many people are willing to let go of one with very little incentive, as an excuse to buy something new. there are also smaller computer boards, known as "*single board computers*" or "sbcs" that may cost only 100 dollars (or euros) or even less, brand new. if you buy one of these, you will need a screen to connect them to. a television with hdmi input will usually work for this purpose, but it varies by sbc model. if the learner connects an sbc to a keyboard, power connector, ethernet cable and screen, they will see that it is just a simple, inexpensive circuit board and not a thousand dollar instrument to worry much about. of course you arent trying to teach them to be careless, only unafraid. if they connect the board themselves they might decide its just as familiar as any video game console (which is also a computer). so now what to do with it? single board computers are notoriously low-power (with a few exceptions) so theyre not ideal for applications that require a lot of resources. they are very good for experimenting or coding. if you find it easier to get a cheap, used, older laptop (even one with a broken screen, if you can connect it to a separate monitor) and youre good with a screwdriver and small parts, you can simulate part of the sbc experience by removing some of the laptop (most models) and exposing the circuitry. this is mostly for the aesthetic effect however. hardware-wise, the main thing someone needs to know how to do is connect the cables, use the usb ports and turn the computer on and off. for shutoff there is usually a control of some kind (drawn on the screen) or a command to type in. to turn on an sbc, most models turn on automatically when plugged in (much like a network router). for software, you can start with a gui (but most people have already used one) or you can start with the command line. getting someone comfortable with the command line is a matter of setting up the machine with commands that are easy enough to use. most people learning computer commands *recommend* the use of a "cheat sheet" that lists different commands for different tasks. this runs counter to the way a lot of lessons work, but if people use a cheat sheet at first, most people will begin to memorise commonly-used commands-- you dont typically think about how to control a door knob once you know how they work, you simply "use the door". this is the sort of experience people have when they use the command line regularly as well. one of the best things you can do at the command line is simply name a programming environment and press "enter", or "return". many programming environments are friendlier or even have less complicated syntax than similar tasks on the command line; if it helps, you can configure your computer to go directly to such an environment. maybe the most important thing is to let the learner try things-- you can even give them a help command they can type in to list different things to try. as they build familiarity with the system, they will not only be learning a skill that many people lack; they will also be closer to understanding how computers work. software varies from computer to computer, as does the hardware. many features are common across operating systems and brands and models, even if they have slightly different names or work slightly differently. rather than just use the most abstract layer, such as a gui that can change dramatically from year to year, its useful to be familiar, or at least comfortable with the layer "behind" the gui, or the text-based layer that loads if no gui is present. at first it may look like it cant do much, although exploring those options (even if you have to go online to look for ideas) is part of the learning. the more familiar you are, the more you can help others with their learning. you may even find yourself learning things from them. home: [lit]https://wrongwithfreesw.neocities.org[lit]