LIS-3353

Hardware

But first, a quick personal note

But first, a quick personal note

THERE IS NO FUTURE

Just realized why this seems so cool to me...

What is a computer?

Simplest computer I can think of...

BINARY system. TWO possible choices

Binary System

0 and 1

More later...

HUGE CONCEPT #1

All computers do is “numbers”
- you put numbers into them
- it messes with the numbers
- it gives you some numbers back

Charles Babbage

“The whole of arithmetic now appeared within the grasp of mechanism.”

The Difference Engine

..which is this

HUGE CONCEPT #1

All computers do is “numbers”

HUGE CONCEPT #1

All computers do is “numbers”

(but, you can store anything in numbers)

The first “program?”

Ada Lovelace

From “Difference Engine” to “Analytical Engine”

which
'might act upon other things besides number... the
Engine might compose elaborate and scientific
pieces of music of any degree of complexity or
extent'.

"Are you crazy, lady?"

Ada wins this one, for sure

HUGE CONCEPT #1

ANYTHING IN NUMBERS
yields
HUGE(R) CONCEPT #2

HUGE(R) CONCEPT #2

All computers do is follow a very
precise list of instructions that one or
more people wrote.

(much more on this later, but .. Kaleidoscope)

The software has to run on something...

(remember big rules)

  1. Math/Numbers
  2. Instructions

The software has to run on something...

Let’s tighten up our definition of computer a bit:

It needs the ability to have changeable instructions

Broad definition: Computer, by parts

Input
Processor
Output

Slightly Less Basic

INPUT
PROCESSOR
STORAGE
OUTPUT
(power)
(“gluing it all together”)

PROCESSOR (CPU)

Brains of the operation.
“Does” the things.
(which is really, does the math)

PROCESSOR (GPU)

VERY similar to a CPU.
These days

Power / Electricity

Lately, not a lot. At all.
Even old computers - generally less than a lamp.

..touch it. ☺

Except, of course:

Bitcoin Farm? Wasting electricity to show value. What?

STORAGE

PERMANENT

The “Board.” That's about it.
Reliance on this layer is increasingly rare, for obvious reasons.

(ROM used to mean this precisely: Read Only Memory...now it usually means the next thing...)

Semi-Permanent Storage

(Firmware)
Much of what you think of as “permanent” is more likely “firmware”

That is, technically changeable, but you don't do it a whole lot, only when you want to make deep, fundamental changes/updates to how the hardware operates.

“Changeable” storage

( YET another badly named thing in computing)

So, imagine you're in the library using books to work on a paper like it's ancient history or something...

RAM

RAM

(when people say “memory”)
- what you're working on now


(short term memory)

DRIVES (hard, solid-state, CD, etc.)

All (usually local) information that you can get to

(long term memory)

“Drives”

Old school

Today

“Spinny circle thing and a pointy thing”

Vinyl Records, Floppies, Laserdiscs.

Any “disc,” really….

To further confuse the issue:

This is "Memory/RAM"

To further confuse the issue:

And this is an SSD

Not a coincidence

SSDs and RAM are very similar..
..so similar that you can expect them to converge.

INPUT - OUTPUT

Human Input
Human Output
Digital Input
Digital Output

Analog v Digital

Analog

For us humans, literally *everything* is eventually Analog.

Digital

Watch for "where the conversion happens"

The good: Digital usually means "better quality" and definitely means "doesn't degrade"

Watch for "where the conversion happens"

The good and bad:
Digital means can be converted/encrypted.

Good when we can keep secrets from "enemies;"
Bad when "enemies" can keep things from you...more in a bit

Human Input (classic analog)

Keyboard
Touchscreen
Webcam
Microphone
Motion-Sensor
Mouses/Buttons/Sticks...and

Human Input (modern analog)

Thermometers?
Smoke detectors?
Motion detection?
Heart Monitors? etc etc
(and other “Internet of things” stuff”)

Human Output (classic analog)

Screen*
Speakers*/Headphones*
Paper

Human Output (classic analog)

“Internet of things” stuff here too?
Oculus Rift, Drones, lights/temp in your house, etc.

*but what are the “wires” lately? More to come

Digital Input/Output

"New" hotness: Universal Serial Bus! (USB)
Input, output, charging, various sizes

(oh, and also whatever Apple's things are that should probably just be USB )
AND BY LAW IN MANY PLACES NOW ARE

Digital Input/Output

Internet Data Oriented:

Diversity of layers (OSI)

(preview of later..)
Application (HTTP, telnet, etc)
Presentation (framework MIME)
Session (pipe,SOCKS)
Transport (reliable packet delivery, TCP)
Network (nodes and address, IP)
Data (PPP)
Physical (wires, radio, USB)

Diversity of transmission media:

- telephone lines (modem/DSL)
- tv cable
- wireless (802.11)
- satellites
- radio
- lasers (pointless, but true)
- fiber

Audio

Analog: “RCA” – usually the “1/8” in jack, sometimes 1/4

(The best standard ever created, stop being suckers*
*fine, this is just my opinion but its totally true)

Digital: Bluetooth, USB, occasionally Ethernet and others

Video - Analog

TV Video:

Computer Video

(yeah, these are almost gone. ALMOST)

Video - Digital

DVI
HDMI

Digital Input/Output

Internet Data Oriented:

“glue”

Motherboards. Where it all comes together.

Today, yeah it can all be on one tiny thing

Ridiculous computing factoids

So what?

Raw computing power got extremely CHEAP and PLENTIFUL for most real-world applications:

THE DEVICES

OLPC

A failure, but a big deal anyway

PDAs (but this AND a phone?)

MP3 Players

Ipod

Blackberry

AKA THE LAST CELL PHONE MAKER EVER ☺

Nokia N900

iPhone

Darwin/POSIX Compliant (but basically closed)

Wait, why is everything a screen rectangle?

with no keys?

Wait, why is everything a screen rectangle?

Not just preferences, there are some places it REALLY shouldn't be:

Cargo Cult

Easy to make fun of this, but our screen rectangle thing? same thing.

Moore's Law?

Roughly:
"Computer devices double in power and halve in price..
..every 18 months."

(have we hit the limit?)

The software has to run on something...

Let’s tighten up our definition of computer a bit:

It needs the ability to have changeable instructions

The software follows orders; but WHOSE?

Hopefully, yours?

Or someone that ACTUALLY CARES about you?

Or someone who can be relied on to do the right thing for you, maybe because you pay them, or they are required to by law?

(please feel free to freak out at the fact that it’s increasingly none of the above)

What is a computer?

What if it’s made of “general purpose computer” parts...

...but then, someone thinks that NOT you
(or NOT someone you trust)
(or NOT someone you pay)
(or NOT even some paid public servant or figure)

 should be able to write your own instructions for it?

We know about these:

e.g.
Macs
Dells
etc.

What about these?

Nintendo
Xbox
Router
mp3 player
ipad
...

Oven...

Here comes a rant....

Moore’s Law got weird:

OLD SCHOOL – computers are expensive, so only build in functionality you need.

TODAY – computers are basically free, so f*** it. Throw the cheapest one in right NOW!!! Also

So what?

The bad:
Companies will pretend that “hardware” and “software” can’t be separated to jack up prices
(i.e. non-changeable instructions)

Rant Continued

If you have to manually root, jailbreak, unlock, or letterbomb it to make it do exactly what you want (or even worse, if you can't) maybe it shouldn't be considered a computer.

Perhaps, an appliance.

Don't get me started on the idea that a private company (as opposed to public law) can dictate what I do with legally obtained data or software...

...also, environmental impact

(if you agree, check out the "Right to Repair" movements.)

Imagine:

“I’m sorry, this is a ‘chair’ hammer. You cannot build tables with it. This violates the warranty. Also, it is strongly suggested that you don’t tell other people how to build tables with it; and we will delete that discussion from the internet. Also, you talk to much about it, we may try to have you arrested.

So what?

The Internet of Things

The S in IoT stands for security :)

Internet of ****

IoT security is garbage, because you throw an
ultracheap, untested computer in your toaster
to rush to market, and now your toaster is attacking your family.

Also — "THE CLOUD"

There is no cloud, it's just somebody elses computer

A computer (possibly virtual), probably running Linux

Yep. Usually.

Funny, it's not talked about that much. Or enough.
Again, not the part that makes people Rich, or even popular

Why do we even use "cloud?"

After all, email is "cloud" and yet we never used that word.

Probably a B2B thing — this was the first time the SERVERS were freed from the bare metal

On Virtual

Many different ways to do "Virtual" and "Virtual-like," but roughly:

Pure Virtual

i.e. literally fake the whole computer. You have to install the OS, etc.

Containers

This is "Docker" et al:

You don't fake the whole computer;
you wrap up and "package" the stuff you need to use;
and try to wall it off from everything else.

When you get big, you have to think about this large scale

e.g. KVM
Kubernetes
and other tools for managing A BUNCH OF THESE.

Also, there's the Proton/Wine thing

Windows Programs (like games) in Linux AKA THE ONLY HARDWARE IM EXCITED ABOUT

So what?

The good news:
This means we can all buy cheap computers to play and learn with.

Before Thursday

Think about "how you will do Linux Exercises"
Possibilities include:

I can already do this...i.e.

If this makes no sense to you, don't worry..

"I already am running Linux on one of my machines, and I have root (i.e. I can do sudo)"

( This includes "virtual")

I have an old computer I can completely wipe

Really? Cool.

I'm going to buy a Raspberry Pi

Cool, go for it., if you can get one?

ANY model works

 either the 4 or the 400 (same thing, but with a keyboard included) is best

I want to install a virtual machine on my computer

This is free and also cool. I will demo

I need something else.

Looking into it. Not sure about this here "WSL..."