djk44883 wrote:[
yes, getting off topic... keyboards send keyboard scancodes! press a key it sends a signal, not a "switch" toggling multiple wires! Leaning towards topic, the article, completely missing this leads me to believe it's mostly hogwash.
I share your mistrust in the author. At some point he even writes "Walla!"... I guess he is trying to write the French word "voilà"...
However, that is essentially how most computer peripherals work. ASCII characters (the simple set) are expressed in 7-bits
https://www.sciencebuddies.org/science- ... scii-table
So you can use 7 wires with either 1 or 0 to represent them all (each keyboard key, see above link). In practice, this binary representation is done using a high voltage (say 5 V) to represent the 1 and a ground (0 V) to represent the 0. These are essentially switches, if you pass electricity through, you get a 1, if you cut the current off, you get a 0.
The reason some busses like i2C and USB can have only 2 wires for data is because they send all of the 7 or more bits on the same line, using some process with which the data can be separated into the original 7 or many. for example, they can send the first wire on the first millisecond, the second on the second and so on. There are many different ways to do this, but essentially the idea is to send the many parallel signals over only one line
hack3rcon wrote:
Thanks.
Thus GUI is a kind of shell?
Who translate our tasks into 0 and 1 for the computer?
I wouldn't say that any graphical interface is a shell. However, some are or can be. For example GNOME-shell is a shell, or the interpreter in a Python IDE, but the graphical interface for rsync isn't. The term is kind of hazy and was never meant to be that exact. Most often people think of a non-graphical program which interactively responds to user inputted comannds when they hear the word "shell'