I/O -- Can You Connect 2021-01-29 14:14:30

Inside the machine you're typing on -- there is only data. The 1s and 0s in green cascading on the black background of the matrix -- yeah, that's all just data. The data, it turns out, are created by electrical signals and are then grouped into recognizable patterns. This is similar to how a written alphabet is nothing but lines grouped into patterns that are then grouped into language. When we group any pattern, we can create meaning.

If the machine only works on data - our job as program writers is to master the art of getting the data into and out of the machine. I'm giving this I/O ( input / output ) the label: "connections". Connections are one of the key skills you need to master when developing your computer skills.

On the input side of the connection, you have a keyboard, the mouse, a camera, microphone and any other device that can send a signal to your machine. There are files that contain data that you need to know how to read. Connecting to an API over the internet is another source of input. If you think about all the inputs you have to manage, you have half the connection equation. The other half are the output devices and files and API connections that you push data to.

Mastery will also allow you to troubleshoot many end-user computer problems - because you'll always make sure the connections are working. If you're practicing writing programs - consider how to clearly understand each part of the process that is a connection. You'll quickly learn that an I/O connection has an interface. Think of a connection interface like the shape of a puzzle piece. You may need to rotate it and get the colors to match before it fits, but once you have it configured correctly, it fits perfectly. 

Exercise these I/O interface skills until the code is in your fingers and the value of your skills will increase. In short, become a connection master.

Brian Ball

The Story of Before & After Hold My Beer - in 10 Languages

More from CohortCode

I/O -- Can You Connect
I think this is a good educational primer to I/O except for the final part where you tell the reader to exercise these I/O interface skills until code is at my fingers. This kind of confuses me as to what my next actionable step is.
2021-01-29 15:34:20
How to Practice I/O

1. Make a list of ways you get data. Include anything from a wireless keyboard to opening browser and copying and pasting data.

2. Make sure you know how to do these.

3. The real practice isn't connecting the keyboard, it's making the API calls with different headers / database interfaces etc.

But, as a code practitioner, it makes sense to immediately and always know how to quickly do something with the data -- whether you need to read it from somewhere or write it to somewhere.
2021-01-29 20:56:54
I think immediately doing something with data is important as well. This is why I actually find monoliths like Rails or Laravel to be a great way to start a beginner off in the domain of software. Because the relationship with the data is much more isolated to the environment.

With headless or just focusing on in-browser the concept of fetching data via remote sources becomes more difficult. 

But then again I have to admit that when I was first trying to start with Python Django (another monolith) I was unable to grasp why I needed a database let alone figure out how to connect to it.
2021-01-30 23:13:47