= Page =

http://www.guckes.net/talks/glass.txt
http://www.guckes.net/talks/glass.txt.html (in colour)
Latest change: Sat Jan 02 16:30:00 CET 2016

= Event =

  Chemnitzer Linux-Tage      Motto: "Es ist Dein Projekt"
  2016-01-08 cfp deadline    http://chemnitzer.linux-tage.de/2016/
  2016-03-18/19  event :)    Sa 8:30-18h, So 9-18h  | Anfahrt:
  Sa+So 19.+20. März 2016    www.freedom-tours.de www.linuxbus.de

= Digital Glass =
(Die Digitale Brille)

== "software as a looking glass" ==

when we look at data like emails, webpages, DOCs and PDFs
then we use our "digital glasses" which present them to us.
these tools can give us a specific part in greater
detail or let us zoom out to get an quick overview.

let's take a closer look at what is usually hidden
from the view, and what we must install+configure
to see data "through the looking glass.."

= Intro =

    ____  _         _     ____  ____
   / ___|| |       / \   / ___|/ ___|
  | |  _ | |      / _ \  \___ \\___ \
  | |_| || |___  / ___ \  ___) |___) |
   \____||_____|/_/   \_\|____/|____/


all those many zeros and ones - gathered in
files, and categorized as multimedia data:
text, pics, audio, and video (as audio+pics).
how do we deal with them? well - "glasses"!

= Feedback =

please send email to clt2016@guckes.net
or add your comments here:
TODO textpad

= Structure =

10101010 -> eight bits = one byte

units:
bytes -> kilobyte -> megabyte -> gigabyte
-> terabyte -> petabyte -> BIG DATA! :-O

2015-12-12:
prices for storage have fallen considerably.
eg for usb sticks : 64GB for 23€-30€,
external hard disks: 1TB for 60€,
2TB for 80€, 4TB for 140-200€.

but - how to look at data?  with programs/software!

= Digital Glass =

how to look at *any* kind of files?
binary -> hexeditor.  show:  xxd.

$ xxd mutt.png | head
00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
00000010: 0000 0080 0000 0080 0806 0000 00c3 3e61  ..............>a
00000020: cb00 0000 0473 4249 5408 0808 087c 0864  .....sBIT....|.d
00000030: 8800 0000 0970 4859 7300 000d d700 000d  .....pHYs.......
00000040: d701 4228 9b78 0000 0019 7445 5874 536f  ..B(.x....tEXtSo
00000050: 6674 7761 7265 0077 7777 2e69 6e6b 7363  ftware.www.inksc
00000060: 6170 652e 6f72 679b ee3c 1a00 0020 0049  ape.org..<... .I
00000070: 4441 5478 9ced 9d79 7c14 55da efbf 4f67  DATx...y|.U...Og
00000080: 252b 0992 b084 4df6 5d36 0920 d7c8 2ea3  %+....M.]6. ....
00000090: b833 2a8c 8ae0 8273 d551 5f77 5fdc e6a3  .3*....s.Q_w_...

looking at data with *text*:
text   -> text editor. (eg vim)

ASCII:  number <-> character/glyph
        some have no pixels.  hmm.

[basis for TeX and LaTeX - typesetting language.]

inner structure of data:  data *formats*.

  https://de.wikipedia.org/wiki/Dateiformat
  https://de.wikipedia.org/wiki/Liste_von_Dateinamenserweiterungen
  https://de.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions

how many?  thousands!

= File Type =

tool to determine the type of files:  "file" :-)

$ file /bin/zsh
/bin/zsh: symbolic link to `/etc/alternatives/zsh'
$ file /etc/alternatives/zsh
/etc/alternatives/zsh: symbolic link to `/bin/zsh4'
$ file /bin/zsh4
/bin/zsh4: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x039d0f53a672b7cc8009b7e46460dd4c90d79bfc, stripped

    -rw-r--r-- 1 root root 2279632 Mär 18  2015 /usr/share/misc/magic.mgc
    -> man 5 magic

= HTML =

text/html

the "web glasses": the "web browser".
inner structure: HTML.
semantic structure.  not* a programming language!

mind you:  web browsers are not head-on displays.
however, they can be considered "glasses"
as they are giving you a "view" of the data.

examples:
chrome, safari, IE, Firefox..
elinks, lynx, w3m. and many more:
https://en.wikipedia.org/wiki/List_of_web_browsers
show: http://tinyurl.com/2015-12-10-glas

= DOCs =

its files contain "invisible data" which direct the
formatting and layout, incl font size and footnotes.
the goal is "what you see is what you get" ("WYSIWYG").

the Graphical User Interface (GUI) usually
includes menus, dialogs, and scroll bars.

examples for "glasses":
AbiWord, TextMaker, Word, WordPerfect;
Office, StarOffice, OpenOffice.  lots more:
https://en.wikipedia.org/wiki/List_of_word_processors

-> XML

* antiword

= Email =

everyone has an email address and reads emails, right?
there are many different glasses.. (mine is "mutt".)

colorization! \o/

colour for folder index:
mails sent by myself, known addresses/people,
replies to sent mails, special subjects,
messages sent to/via addresses (eg lists),
sent with certain mailers, and possible spam.

show: mailbox folder index.

colour for message body:
abbreviations, boroughs and cities, nouns, dashed words,
month names and week days, dates and times (and ranges),
numbers with units, text in brackets, quotes, emphasis -
email and web addresses, phone numbers,
list bullets, smilies, and more.

show: an encrypted and a signed email.
(who here has seen them before in "raw"?)

header:
display of header usually restricted to
    Date, From, Subject, To+Cc, Reply-To.

wont see: Received, Return-Path, Content-Type etc.

display_filter:
makes changes and deletions before showing,
eg hiding signatures and list footers,
as well as attachments like pictures.

also hides cited text by request.

newsletter:
Content-Type: text/plain; charset = "iso-8859-1"
              text/plain -> text/html
-> rendering now done by text browser.

vim: syntax ON!

= PDF =

"choose the right tool for the job!"

consider this PDF:
https://www.alchemistowl.org/pocorgtfo/pocorgtfo09.pdf

so display it with a PDF viewer!

on page #60 it contains the adapted lyrics
to "Diamonds    are a Girl's Best Friend"
as "Root Rights are a Grrl's Best Friend".

now, if it contained the *score* -
would we be able to hear it, too?

let's *see*...

-> https://en.wikipedia.org/wiki/Polyglot_(computing)

idea:
    $ prog1 file > output1
    $ prog2 file > output2
    $ diff output1 output2

more on PDFs:

= Metadata =

* exiftool + jhead
* pdfinfo + qpdf

= Problems =

objects (apps, programs, software - hardware, computers, tools)
are mostly NOT created by ourselves, but by others.
can we TRUST them?

we trust industrial norms. "it'll be alright."
however, norms are mostly *suggestions* which are
adopted and followed.  but not always the law.

when you have some knowledge and some tools
then you can test things yourself.

but even when you "own" an object
(computer, game console, router, smartphone, tv)
then checking it may not always be allowed.

other examples:
you must not look inside the motor of your car.
you cannot check the clerks working at your bank.

some data have undisclosed structures: proprietary formats.
("ein preisgeben der geheimnisse der gilde ist verboten")

even creating programs which can read
a proprietary format is verboten! :-(

can we TRUST software we are not allowed to look at?
(rememeber: some operating systems are a "business secret".)

can we really afford to rely on companies and
governments to trust on their black boxes?

and even when it is allowed to look at data,
eg with an anti-virus program:
will it know about all those data formats
so it can find viruses *inside* of it?

(would you buy a computer with an extra CPU core
 just for running that ant-virus program?
 do the creators of anti-virus programs
 write new viruses themselves? and what
 about viruses in anti-virus programs?)

do you trust the programs in the microprocessors in your car?
do you trust the operating system of your computer?
do you trust the apps on your smartphone?

more abstractly:
do you trust the digital glasses you were given?
can you see with them clearly?
can you see with them truly?

how will we catch all those problems
when we deny each other an open look?

= Summary =

open up the data/programs!  create more glasses!
and use (more) Free Software + Free Hardware! :-)

whenever you use a computer - most programs act like glasses:
you may only see a part of the contained data - in one way.
more digital glasses, however, can be quite enlightening.

therefore:
try some other glasses, too!
also talk to other people:
"how do *you* see this?  which (digital) *glass* do you use?"
("wie sehen sie das?", "welche (digitale) brille verwenden sie?")

so: change your perspective now and then!  8-)

... thank you for listening.  ...any questions?

= Author =

    Sven Guckes
        @guckes     twitter
 clt2016@guckes.net email       8000R/0185391B 1024R/57F77F09
     www.guckes.net homepage
     52.52, 13.37   approx geolocation

"we need transparent governments..
     not transparent citizens."

"a government which has nothing to hide
   need not be afraid of Wikileaks."

-------------------------------------------------------------

= More =

== Imagination ==

(digression)

Imagination: the purest of all glasses?

die erkennung von ideen durch die brille
"mathematik".  "die reinste form aller brillen"?

some enlightenment.. through numbers:
even numbers.. infitinitely many.
odd  numbers.. infitinitely many.
1:1 relation: an odd number 'o'
paired with an even number - 'o+1'.
the same amount of objects ->
they are of the same size.
so.. how big are these
two sets *together*?

how much do you have when take
an infinity from an infinity?

"infinity" is not an ordinal number.

how much more is the size
of the   rational numbers -
or the irrational numbers?

== Intelligent Glass ==

ICE: die glastuer zum triebzeugführer.

glas -> milchglaseffekt.

    https://de.wikipedia.org/wiki/Intelligentes_Glas
    -> linked film

maybe: https://de.wikipedia.org/wiki/Einwegspiegel

== Transparency for the Win ==

transparent solar cells:
turn a building into a battery.

  https://www.youtube.com/watch?v=IZ__PjmC6Fg
  Invisible Solar Cells That Could Power Skyscrapers

== The Glass Cloud ==

put data into some glass with laser technology:

  https://www.youtube.com/watch?v=GzaI3Md8Liw
  laser photo engraving, China laser engraving machine

how much data goes into one glass block?
does all your data fit in there maybe?
how about a backup in a glass block?

== Copy Machines ==

copying - through a glass.

here the machines looks through a glass
to scan the data on the medium paper.
illumination and transparency is necessary.

function:
they are taking a look - do rastering with pixels.
and produce a copy.. whatever it is.  NOT!
because not everything shall be copied.

refuses to produces copies of notes and passports:
https://de.wikipedia.org/wiki/EURion-Konstellation

and printers leave traces:
https://w2.eff.org/Privacy/printers/index.php
https://w2.eff.org/Privacy/printers/docucolor/

so it is a mechanized eye - but with a filter!
resulting copy includes little changes
to indicate the machine as a watermark.

"but nobody told us!  this is unfair!"

whatever is technologically possible
*will* be done.  legal or not.  :-/

== transparent software ==

Open Source
Free Software

Free software is a matter of the users' freedom to run,
copy, distribute, study, change and improve the software.
CIDERS = "copy+change, improve, distribute, enhance, run, study."

Open Access
Open Data

== from 2D to 3D ==

films are two-dimentional objects "on glass"
of three-dimentional objects.  how would
this look like when you turn this around?

-> https://www.youtube.com/watch?v=XqbGgeK5628
the shapeshifting display - from 2D to 3D.
the picture we see is a 3D sculpture created
in real time from your 2D picture.

== Data Colouring ==

colouring of text, eg "ACGT" sequences.

-> GATTACA http://www.imdb.com/title/tt0119177/
"A genetically inferior man assumes the identity of a superior
 one in order to pursue his lifelong dream of space travel."

-> https://en.wikipedia.org/wiki/Human_Genome_Project

== Farben ==

how many colours can we really perceive?
on screen: EGA, VGA, .. 4, 8, 16, ..256.

pantone system: 1755 colours
https://de.wikipedia.org/wiki/Pantone_Matching_System

https://de.wikipedia.org/wiki/Magenta_%28Farbe%29
Telekom (seit 1995): Farb-Marke "magenta"
  CMYK:    6 100 0 0
  hex:     #e20074
  sRGB:    226-0-116
  Pantone: Process Magenta.

rainbow. -> nyancat

which and how many colours can we possibly perceive?

men vs women:  perception of colours
https://streisel.files.wordpress.com/2013/08/how-men-and-women-view-color.jpg
http://www.geekinheels.com/wp-content/uploads/2011/04/how_men_and_women_see_colors.jpg

= Film as Text =

mplayer: MPEG -> ASCII

please dont let me be misunderstood
Aretha Franklin - photos
Aint no Sunshine
Sultans of Swing - bunt, aber nicht der kicker
HAIR ..
Mungo Jerry "in the summertime"?
I GOT THE POWER!
Born to be Wild
Bad to the Bone
House of the Rising Sun
Fade to Grey?
What a Wonderful World

braucht eine groessere aufloesung als 46x128

= Random Art =

show the server's public key:
$ /etc/ssh/ssh_host_rsa_key.pub

show its fingerprint ("-l"):
$ ssh-keygen -l   -f /etc/ssh/ssh_host_rsa_key.pub

show its fingerprint with random art (add "-v"):
$ ssh-keygen -l v -f /etc/ssh/ssh_host_rsa_key.pub
2048 4f:1b:89:4b:18:1e:c3:a9:05:5d:c3:84:cc:2e:5c:be  root@impala (RSA)
+--[ RSA 2048]----+
|    .+ =+        |
|     o*...       |
|   . +B          |
|    o+o= . .     |
|    ..o.S +      |
|      E. + o     |
|        . o      |
|                 |
|                 |
+-----------------+

show "random art" animation to a given string:
$ cd stitchcode; sleep 3; sh randomart_anim.sh

= Email Attachments =

emails can be multi-part, including files as "attachments".
but did you know that gpg keys can also contain photos? -
container formats!  PDF MPEG etc

= Viewers =

$ command1 | command2
how to "see" the data flow?
pv - to show data throughput

$ less =pv
$ strings =pv

$ cd ~/.P/clt/data
$ ogginfo *ogg

view on file system:  mc (midnight commander)

photo in terminal: cacaview (caca-utils)
cacaclock -> show current time
cacademo  -> show some rendering

= Hiding =

adding my public key as a comment to my picture:
format:  $ convert -comment @commentfile                     picture    picture.new
example: $ convert -comment @0185391B.2015-12-19.minimal.asc sil200.jpg sil200.0185391B.jpg

= ZIP =

adding my key as a comment to a ZIP archive:
$ zip -z null.zip < 0185391B.2016-01-01.minimal.asc

= Watermarks =

more!

vim: set et ft=sven tw=999 nowrap: THPXRF EOF