binary solo

introductions

Conduct

Social Rules

  • No feigning surprise
  • No well-actuallys
  • No back-seat driving
  • No subtle-isms

recurse center <3

all your
feelings
are valid

binary solo

(core content!)

(technical digressions!)

⚠ technical digression ⚠

binary solo

can you send messages
with just 1s and 0s?

how to count!

back to basics 🤓

the normal way

    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, …

"Decimal"

"Base 10"

the normal way

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, …

"Decimal"

"Base 10"

first weird thing: from now on, we will start counting at zero

the normal way

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, …

"decimal"

"base 10"

something interesting happens here!

kill the 9s!

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …

"base 9"

… 18, 19, 20, 21, …

… 88, 89, 90, 91, … 99, 100, 101, …

kill the 9s!

0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, …

"base 9"

18, 20, 21, …

88, 100, 101, …

how about the 8s!

0, 1, 2, 3, 4, 5, 6, 7, 10, 11, …

"octal"

"base 8"

… 16, 17, 20, 21, …

… 76, 77, 100, 101, …

POWER

OF TWO!

0, 1, 2, 10, 11, 12, 20, 21, 22, 100, 101, …

"base 3"

drumroll...

the last two digits!

the last two digits!

0, 1, 10, 11, 100, 101, 110, 111, …

"binary!!!!!!!!"

"base 2"

POWER

OF TWO!

count to 10000

(in binary 😉)

places: decimal

eg: 9201

  • 9 in the thousands column
  • 2 in the hundreds column
  • 0 tens
  • 1  ones
place name
1 "ones"
10 "tens"
100 "hundreds"
1000 "thousands"

⚠ technical digression ⚠

places: decimal

eg: 9201

  • 9  * 1000 +
  • 2  * 100 +
  • 0 * 10 +
  • 1  * 1
place name
1 "ones"
10 "tens"
100 "hundreds"
1000 "thousands"

= 9000 + 200 + 0 + 1

= 9201

⚠ technical digression ⚠

places: decimal

eg: 9201

  • 9  * 1000 +
  • 2  * 100 +
  • 0 * 10 +
  • 1  * 1
place name aka
1 "ones" 100
10 "tens" 101
100 "hundreds" 102
1000 "thousands" 103

= 9000 + 200 + 0 + 1

= 9201

⚠ technical digression ⚠

places: binary!

place name i.e.
1 "ones" 20
10 "twos" 21
100 "fours" 22
1000 "eights" 23
1
1
10
2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 10

⚠ technical digression ⚠

places: binary!

eg: 1001

  • 1  * 8 +
  • 0 * 4 +
  • 0 * 2 +
  • 1  * 1
place name i.e.
1 "ones" 2 0
10 "twos" 2 1
100 "fours" 2 2
1000 "eights" 2 3

= 8 + 0 + 0 + 1

= 9

⚠ technical digression ⚠

places: binary!

eg: 0111

  • 0  * 8 +
  • 1 * 4 +
  • 1 * 2 +
  • 1  * 1
place name i.e.
1 "ones" 2 0
10 "twos" 2 1
100 "fours" 2 2
1000 "eights" 2 3

= 0 + 4 + 2 + 1

= 7

⚠ technical digression ⚠

send messages

with 1s and 0s?

hexadecimal

base 16!

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …

⚠ technical digression ⚠

add some new digits here!

hexadecimal

base 16!

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, …

⚠ technical digression ⚠

12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20, …

… 99, 9A, 9B, 9C, 9D, 9E, 9F, F0, F1, F2,

F9, FA, FB, FC, FD, FE, FF, 100, 101, 102, …

POWER

OF TWO!

hardware setup

power up! 🔌

arduino

mini thermal printer

  • red & black: power

  • green & yellow: communication

  • one blink: all ok!

serial

RX: →Receive

TX: Transmit→

(snacks!)

(foreshadowing snacks!)

bits & bytes

00001111

000000111

00000011

0000001

00001111

000000111

00000011

0000001

1 =  1

2 + 1 =  3

4 + 2 + 1 =  7

8 + 4 + 2 + 1 = 15

1 =  1

2 + 1 =  3

4 + 2 + 1 =  7

8 + 4 + 2 + 1 = 15

= B

= D

= H

= P

?????

bits & bytes

how computers store information

separating numbers

delays? spaces? newlines?

...chord hits?

00000010000001100000011100001111

0

1

2

4

1

2

3

8

8

 256

9

512

  10

1024

17

131,072

18

262,144

25

33,554,432

= 33,949,455  :/

can you send messages
with
just 1s and 0s?

"bytes"

if eggs came in packages of 8...

"bytes"

Every number is made of

exactly 8 bits (1s and 0s)

The highest number is only 255!

11111111 = 1 + 2 + ... + 127 = 255

00000010000001100000011100001111

00000010 00000110 00000111 00001111

= 2

= 6

= 7

= 15

= C

G

H

P ?????

ASCII!

 0=[NUL]
 1=[SOH]
 2=[STX]
 3=[ETX]
 4=[EOT]
 5=[ENQ]
 6=[ACK]
 7=[BEL]
 8=[BS]
 9=[HT]
10=[LF]
11=[VT]
12=[FF]
13=[CR]
14=[SO]
15=[SI]
16=[DLE]
17=[DC1]
18=[DC2]
19=[DC3]
20=[DC4]
21=[NAK]
22=[SYN]
23=[ETB]
24=[CAN]
25=[EM]
26=[SUB]
27=[ESC]
28=[FS]
29=[GS]
30=[RS]
31=[US]
32=" "
33=!
34="
35=#
36=$
37=%
38=&
39='
40=(
41=)
42=*
43=+
44=,
45=-
46=.
47=/
48=0
49=1
50=2
51=3
52=4
53=5
54=6
55=7
56=8
57=9
58=:
59=;
60=<
61==
62=>
63=?
64=@
65=A
66=B
67=C
68=D
69=E
70=F
71=G
72=H
73=I
74=J
75=K
76=L
77=M
78=N
79=O
80=P
81=Q
82=R
83=S
84=T
85=U
86=V
87=W
88=X
89=Y
90=Z
91=[
92=\
93=]
94=^
95=_
 96=`
 97=a
 98=b
 99=c
100=d
101=e
102=f
103=g
104=h
105=i
106=j
107=k
108=l
109=m
110=n
111=o
112=p
113=q
114=r
115=s
116=t
117=u
118=v
119=w
120=x
121=y
122=z
123={
124=|
125=}
126=~
127=[DEL]
dec hex binary ascii
65 0x41 0b01000001 A
66 0x42 0b01000010 B
67 0x43 0b01000011 C
68 0x44 0b01000100 D
69 0x45 0b01000101 E
70 0x46 0b01000110 F
71 0x47 0b01000111 G
72 0x48 0b01001000 H
73 0x49 0b01001001 I
74 0x4A 0b01001010 J
75 0x4B 0b01001011 K
76 0x4C 0b01001100 L
77 0x4D 0b01001101 M
78 0x4E 0b01001110 N
79 0x4F 0b01001111 O
dec hex binary ascii
80 0x50 0b01010000 P
81 0x51 0b01010001 Q
82 0x52 0b01010010 R
83 0x53 0b01010011 S
84 0x54 0b01010100 T
85 0x55 0b01010101 U
86 0x56 0b01010110 V
87 0x57 0b01010111 W
88 0x58 0b01011000 X
89 0x59 0b01011001 Y
90 0x59 0b01011010 Z

H

E

L

L

O

01001000 01000101 01001100 01001100 01001111

send messages

with 1s and 0s!

dec hex binary ascii
65 0x41 0b01000001 A
66 0x42 0b01000010 B
67 0x43 0b01000011 C
68 0x44 0b01000100 D
69 0x45 0b01000101 E
70 0x46 0b01000110 F
71 0x47 0b01000111 G
72 0x48 0b01001000 H
73 0x49 0b01001001 I
74 0x4A 0b01001010 J
75 0x4B 0b01001011 K
76 0x4C 0b01001100 L
77 0x4D 0b01001101 M
78 0x4E 0b01001110 N
79 0x4F 0b01001111 O
dec hex binary ascii
80 0x50 0b01010000 P
81 0x51 0b01010001 Q
82 0x52 0b01010010 R
83 0x53 0b01010011 S
84 0x54 0b01010100 T
85 0x55 0b01010101 U
86 0x56 0b01010110 V
87 0x57 0b01010111 W
88 0x58 0b01011000 X
89 0x59 0b01011001 Y
90 0x59 0b01011010 Z

???

00000010 00000110 0000111 00001111

[stx]

00000010 00000110 00000111 00001111

[ack]

[bel]

[si]

????

 0=[NUL]  1=[SOH]  2=[STX]  3=[ETX]  4=[EOT]  5=[ENQ]  6=[ACK]  7=[BEL]
 8=[BS]  9=[HT] 10=[LF] 11=[VT] 12=[FF] 13=[CR] 14=[SO] 15=[SI]

ASCII!

unicode

ò ж  ҈  ☂ 🙀

⚠ technical digression ⚠

text: it�s hard

bigger numbers

and other kinds of data

⚠ technical digression ⚠

get code

binary solo!

✨️

0-serial-message.ino

(snack break)

computers talking

to each other

send messages

with 1s and 0s!

thermal-binary-message.ino

send images

with 1s and 0s!

thermal-image-message.ino

thermal printer art

The Counter Button

(Object #1)

 

Ailadi, 2018

WeAreNotListening

 

Alice Woods, Seb Potter, Betsy Fore,

Tim Regan (2013)

 

alicewoods.co.uk/weaenotlistening

Tape Recorders

Raphael Lozano-Hemmer (2011)

lozano-hemmer.com/tape_recorders.php

Remembering

 

Nitcha Fame Tothong (2018)

Binary Solo 2018-08-25

By Phil Schleihauf

Binary Solo 2018-08-25

  • 762