LIS-3353 - Software and Code
Created Tuesday 24 January 2023
Some big ideas
..YMMV
BIG IDEAS - Influencers!
(no, not that kind)
- Economics
- Law
- Etiquette
- Psychology
- CODE/TECHNOLOGY
HUGE CONCEPT #1
All computers do is “numbers”
- you put numbers into them
- it messes with the numbers
- it gives you some numbers back
more detail on this in a few weeks)
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.
What is programming
Changing your lockscreen
Writer/Word/Google Docs
Calc/Excel
HTML/CSS
Bash
PHP/MYSQL/Javascript
Python/Perl/Ruby interpreted/scripted
C compiled
Assembly (00 4E A3 77 8C 0A etc)
Which?
Some Claim
The mouse was literally the worst thing to happen to computers.
Why?
“Caveman interface.”
Pre-linguistic/animal-like
“Point and grunt”
(Tablets and even “Minority Report” are cool and fun...but why is Charades a game?)
Why "Text" for Computers?
Because you can very quickly say/relate complex concepts in a concise way, by combining a series of simple symbols.
You know, like talking. Or writing.
Command line is the act of literally talking to the computer....unlike...
It's so easy..
Intelligence requires Language
Buttons and gestures are frequently convenient for repetitive tasks...
...but to do anything intelligent,
you need LANGUAGE.
TEXT. Numbers and Letters.
But UX/UI?
IMHO - the only good answer
Oh, and potentially literally unhealthy
Thank you to our overlords for "dark mode?"
Quick rant
Yes, I do think a *lot* of this UI/UX stuff is an enormous waste of time.
Quick rant
Yes, I do think a *lot* of this UI/UX stuff is an enormous waste of time.
Especially since we have collectively "rediscovered"
how good language can be,
in the form of Siri, Alexa, and now ChatGPT
Quick rant, more
(a waste of time and perhaps "ableist" as well.)
Know how to make your interface "ADA compliant" or otherwise definitely works everywhere?
ONLY USE TEXT.
OKAY, the good stuff
HUGE(R) CONCEPT #2
All computers do is follow a very
precise list of instructions that one or
more people wrote.
Understanding Power
- 10 PRINT “John is AWESOME”;
- 20 GOTO 10
Computers
The smartest and dumbest things in the world.
Teaching the robots to escape
1) If there's a door in arms-reach, exit – you're done, else
2) If you can, take one step forward then goto 1), else
3) Rotate to the left until there's not a wall in front of you
then goto 1)
(this will get you out of any “regular” empty room)
An almost random bit on recursion
In computers, it's actually okay to define something with itself.
PSUEDOCODE!
- Define function=”EscapeFromRoom”{
- 1) If there's a door in arms-reach, exit – you're done, else
- 2) If you can, take one step forward then EscapeFromRoom, else
- 3) Rotate to the left until there's not a wall in front of you then EscapeFromRoom
- }
(this will get you out of any “regular” empty room)
Here we go
Go to the store; if they have 2% lactose free
chocolate milk, then get me a carton.
CODE, again
- go to the store;
- if [[ they have 2% lactose free chocolate milk]]
- then
- get me a carton.
That was, computers are dumb.
On to: Computers can fake being very smart
The Magic Genie
Recursion, trees, and AI.
AKA
AI is (not) extremely impressive
Let's go..
Making a computer a genius in 4 steps
- {0) Start with “Is it Batman”?}
- 1) Ask my (yes/no) questions down the tree
- 2) If win, “yay”
- 3) If lose, add/replace new last question to one for which my guess was wrong and her
- repeat until genius
The Magic Genie
(can be used for evil too...)
What about instead of
“Is your person a DC character?”
you ask real questions about real people?
(more on this later, but this demonstrates why
surveillance is easy and anonymity is hard.)
So then...
AI?
Alan Turing
Alan Turing
Not Alan Turing
How to sound smart..
“Lots of very simple instructions...
can add up to to complex computations.”
“Turing Machine (Turing Completeness)”
(an infinite tape w/ simple instructions)
“Lots of very simple instructions ...
can add up to complex computations.”
“Lambda Calculus”
(mathy way to express the above; this is
literally all you have to know)
What this really means:
Choice of "computer language" is not that important;
(IN THE ABSTRACT)
Most languages (if not specialized)
can do anything any language can do
(that's the point of computers)
What this really REALLY means:
ALL of this is VERY fluid.
That's the point of a General Purpose Machine
To hack, and to find different uses, and
to do things in different ways.
A.I. ARTIFICIAL INTELLIGENCE!
- up for debate but, history tells a lot; I'd
suggest people “move the goalposts” a lot.
“Tests”
- games like Chess
or...
The Turing Test
Simplest expression:
Could a computer (typing/chatting online)
fool a human into thinking it was a human?
Backlinks: FSU Courses:LIS3353:Raw LIS3353 Slides