User:)biyibiyibiyi(/Prototyping 03

From XPUB & Lens-Based wiki

Prototyping part with Bodó

2d diagram.png

2d diagram resulted from Bodó's LibGen data analysis. My intention was to survey file format composition of post-soviet states. The composition of file types of publications in Chinese language reflected the emergence of electronic publishing market, as indicated by diverse percentages in azw3 format used for Kindle.

Watermarking, DRM w/André

This session is about revealing the materiality of digital book files. Worked on removing digital watermarks embedded in EPUB files downloaded from Verso.

Learned the name Ex Libris, which refer to stamps imprinted on books to signal proprietary right.

In context of digital publishing Ex Libris take form in digital formats. Unlike analog book plates to show signal proprietary right, digital watermarking tools, such as Ex Libris, become a tool for tracking digital files' distribution by attaching user/reader's name onto it.

The prototyping session then began as to understand more forms of digital watermarking tools and how to remove them for future distribution.

By looking into a EPUB file from Verso we discovered several examples of digital watermarking, provided by BooXtream to Verso. The watermarks can be categorized to two types, visible and invisible. The visible ones are visually identifiable on page footers, front pages disclaimers, by printing email address and names entered on Verso online account required for downloading. The invisible ones are embedded in the file structure. EPUB is a zipped file of html pages, each html contains contents of separate chapters. Invisible watermarks are embedded in filenames in the EPUB files (html, stylesheet, hyperlinks, etc). Other examples of invisible watermarking include time stamping and image meta-data watermarks.

To remove meta-data that contained user information, exiftool is used. this tutorial http://xahlee.info/img/metadata_in_image_files.html also showed how to remove geo data from meta data. Which reminded me that during middle/high school when digital camera was used and blogging was popular, I could see camera type metadata by right clicking onto images posted on the blogs...

Aside from removing watermarks as antithesis to copyrights, this prototyping session revealed EPUB file type as structurally interesting. tree command is able to show file structure in tree format. Several organizations to know about: Dublin Core Metadata Initiative, Intl Digital Publishing Forum, which aim is to collaboratively develop EPUB as file type to promote universal accessible e-book exchange.

Epub file structure.png Unzipping EPUB file shows file structure and file types, content.opf contains metadata.

Tesseract OCR algorithm on browser w/Michael

OCR in Chinese

it will be useful since I would like the scan the books in my family's book room.

https://www.cnblogs.com/wzben/p/5930538.html

Setting up Raspian

Motivation

During the last Special Issue we all set up Raspberry pi as server, running on Diet-pi. The web server was apache2. I wanted to set up Raspian for several reasons. Sheer curiosity to see the pi's ability other than being a server, such as being a wifi-hotspot (used in Bibilotecha.info project), using pi camera for home smart agents such as surveillance and automated helpers (pet feeding, plant watering, etc).

Aside from these sporadic interests, I would continue using my pi as server. Before I wiped out Diet-pi, I tried to configure apache2's fancyindex module, so that I can make a web gallery to showcase the projects I (and xpub) did. The try out was not successful. Fancyindexing appear to only apply to specific directories and not sub-directories. Anyway! It was fun to edit the configuration file, to notice it's similarity to other markdown languages.

As I noticed the Special Issue 08 mini site is running on Nginx, I wanted to install Nginx and try again. So I decided to wipe out the Diet-pi system as I felt frustrated with Apache2 configuration.

Process

Setup raspian.JPG Setting up raspian Vnc view.png Playing with VNC


I discovered that Raspian's interface is quite revealing about its file structure. The folders start with root / and sub directories had designated purposes for storing specific file types. Browsing on Raspberry pi online development community I found a thread that explained the file system division. http://shumeipai.nxez.com/2018/01/05/directory-introduction-in-raspbian.html I glanced to basics of the naming protocol, i.e. /bin for binary file, /dev for drives (which reminded me that as we played with the dot matrix printer the driver file was stored in this folder) /mnt for mounting. Memorizing the structure and naming of the protocol is not necessary but it's good to have an impression in mind. As in the future if I develop projects, I will be navigating inside the folders, and I would want to know why I am placing certain files inside var/www but not in /bin.

So I thought in general Raspian is a transparent learning, prototyping tool.

small command line tools, social projects, IoT projects, etc

I looked up some hack documentations on making Raspberry Pi a device for machine learning, in particular learning image data, such as recognizing faces. I would want to explore potentials using machine learning and pi camera.

Reading from Linux China

As we become more adept at prototyping I looked for sources to familiarize myself with the larger contexts of what are people hacking/doing in open source hacker culture. I start by following a blog called Linux China. https://linux.cn/ There is a daily news feed, the scope is quite broad, from basics such as "20 linux commands to familiar with" to more advanced tutorials. Under the technical session there is a section for Pi projects. Below is my news brief about what I found interesting.


think critically on IoT

IoT and surveillance:

When companies decided to make computerized appliances that would connect over the internet to the manufacturer's server, and therefore could easily snoop on their users, they realized that this would not sound very nice. So they came up with a cute, appealing name: the “Internet of Things.”

Experience shows that these products often do spy on their users. They are also tailor-made for giving people biased advice. In addition, the manufacturer can sabotage the product by turning off the server it depends on.

We call them the “Internet of Stings.”

source:GNU/Philosophy/word to avoid

ddgr command

Ddgr.png

What is it good for? -for filtering ads, shortcut for content search without navigating to browser interface. Found other similar prototypes such as Googler, SoCLI (browse stackoverflow in terminal, and one for viewing Reddit on terminal..

curl

http://osxdaily.com/2014/02/13/download-with-curl/

tried incremental download - how to pipeline more?

Markdown editors for writers in humanities

zztlr https://linux.cn/article-10922-1.html look into after I acquire a linux computer. because I had some problems with using office softwares...will be nice to think of how can it relate to me writing on wiki, compiling writing for thesis.

Particulate Sensor using Pi and LCD

The purpose is to monitor particulate data in schools. I wonder if I would adapt it and use it in Beijing...? https://linux.cn/article-10939-1.html https://openschoolsolutions.org/mobile-particulate-matter-sensor/

Opensource Vegetarian Apps in Android

I always had problem managing my diet. This is something to look into. https://linux.cn/article-10926-1.html https://linux.cn/article-10926-1.html

if I am to acquire an android phone..

Pi-hole

https://pi-hole.net/ will be interesting to work with since it involved network port as did in the last semester.

update on installing/configuring pi-hole(06-06-2019)

The intention of setting up Pi-hole is to filter my ads and do some hands on work with network configuration. However, messing around with Pi-hole set me back and I have to re-install Raspian again.

Pihole 1.png

The installation was easy, until I need to visit the admin page, which is IP of my pi/admin, I couldn't access this web page since nginx is already installed. Pi-hole reminded me that if there is a web server installed then there is going to be a conflict. I stopped nginx service, clicked yes on installing pi-hole web interface. It didn't work. After I uninstalled pi-hole, I tried to restart nginx, it cannot reload anymore.

Pihole 6.png
Pihole 7.png

My following plan will be: now I realized installing more than one web interface/server is problematic to deal with, and I don't know how to probe around how to make a clean division of web interfaces...Now I decided that I use on Pi only for web hosting, one Pi(or another SD card), for ad filtering(if I still look into this project), as long as I don't install/run two web servers at the same time.

Had the install been successful I would want to learn more about DHCP configuration https://discourse.pi-hole.net/t/how-do-i-use-pi-holes-built-in-dhcp-server-and-why-would-i-want-to/3026 and how did the configuration filtered ads.

Now I don't know where the problem is causing nginx to not restart properly, so I will have to re-install Raspian again. Lesson learned. I will update how to wipe the SD card for re-install from this tutorial - https://www.jianshu.com/p/1072820b5747, which is interesting because it showed how memory space is "hidden" and divided on SD cards.

update on how to solve the problem above

Asked Luke during relearn session, since the session used a server which had OpenWRT flashed to it. https://openwrt.org/ and there are lists of what specific router can be installed with OpenWRT.

Perhaps the DHCP problem can be fixed with flashing OpenWRT to my router! Router model is: Technicolor ??? there is documentation on this specific model on supported devices page of OpenWrt, need to see if my model is this one: https://openwrt.org/toh/thomson/tg582n (tg582n)

update: Model is not the one above, is Technicolor TG 789bvn

Configure VPN during summer?

is this what I am looking for? https://www.youtube.com/watch?v=15VjDVCISj0 https://www.howtogeek.com/221001/how-to-set-up-your-own-home-vpn-server/

mounting usb on pi

This is a detour because I needed to transfer a certificate from pi to computer, in order to get the laptop VPN client running. I looked into how to mount USB on Pi, I thought it will be useful that, in the future it's faster to transfer files that way. However it caused me problem. Last night I configured the PiVPN set up, after I entered information to /etc/fstab file (as advised by tutorial online, so that disk mounts after boot, no need to manually mount each time), and rebooted the pi, I wasn't able to SSH to pi anymore. There was errors like cannot connect, time out, and host down.

As I connect to the studio screen this morning I see what might caused the trouble last evening.

Dev sda start job.JPG As I see this I felt something is smelly.

Dev sda time out.JPG This was the error last night but I didn't have screen to see.


to avoid this error I deleted the entry in /etc/fstab file about mounting after boot.

During this process I learned about disk formatting/disk formats (exFAT, FAT32, mounting and un-mounting disks, command df -h to see what's mounted on a computer, how disks are named "USB drives attached to the Pi are found under the file system as /dev/sdX, where "X" starts with the letter "a" representing the first USB drive, "b" for the second drive, "c" for the third, etc. The individual partitions on each drive are represented by incremented numbers, starting with "1". So, the first partition on the first USB drive is located in the file system as /dev/sda1, the second partition on that drive is /dev/sda2, the third partition on a third drive would be /dev/sdc3, etc." source - https://elinux.org/RPi_Adding_USB_Drives#Mount_Points )


For some reason I continued to have trouble using USB on pi, possibly because my USB is not very good?(it's speed is slower than others I noticed, or because Pi is slow?)

Bad usb.png

Phone 4g vpn.PNG

I turned off wifi connection on my phone and used 4G and VPN, so the ISP appear to be my wifi ISP.

Teleport

Pi vpn test.png

Reaction

day 0: So excited!

day 1: Immersive YouTube experience

day 2: So fed up with YouTube (╯°□°)╯︵ ┻━┻

DHCP config

??? where to figure out??!! I hate my router page!!!!!

VPN Politics

https://www.bbc.com/zhongwen/simp/chinese-news-46823319

VPN Donation Network

offer ppl VPN

DIY aero-photography

https://thursdaynight.hetnieuweinstituut.nl/en/activities/workshop-doityourself-aerial-photography

https://lifehacker.com/diy-balloon-aerial-photography-on-the-cheap-5765075

why important? surveillance / position of looking

Pi wifi

cannot ssh to it when ethernet is off / wifi on?

https://github.com/OpenLabTools/OpenLabTools/wiki/SSH-on-Raspberry-Pi-with-Ethernet-and-or-WiFi

https://core-electronics.com.au/tutorials/how-to-connect-to-raspberry-pi-3A-plus-remotely-using-ssh.html

https://raspberrypi.stackexchange.com/questions/62341/ssh-over-wifi-not-working#62344

Annotation Tools

https://d3-annotation.susielu.com/#introduction

Trying out Hypothes.is

Hypothesis use.png

Improving my Wiki structure

I plan on improving my wiki structure, mainly for the main page. I started by converting html to pandoc since I am not familiar with mediawiki markdown syntax. I discovered pandoc has a online convertor: https://pandoc.org/try/

I tried with styling each trimester blocks with display:inline property, however pandoc didn't convert it.

Pandoc inline.jpg

I decide that instead of converting from html to pandoc I'll use mediawiki markdown directly. Found a reference here: https://www.w3.org/TR/CSS21/visuren.html#visual-model-intro which I see there is an explanation for inline display.

Considerations for reformatting the landing page: 1.follow current content structure 2.respect wiki visual characteristics and not override visually and structurally (especially the table of contents I find very useful for navigation and definitely will keep)

Publishing with Git, Git for Publishing

about

for testing now use Xpub git.

https://git.xpub.nl/onebigear/cookbook_test


sources:

  1. https://massimomusante.blogspot.com/2017/06/gitlab-on-raspberry-pi-3.html
  2. https://howtoraspberrypi.com/private-git-raspberry-gitlab/
  3. https://projects.raspberrypi.org/en/projects/getting-started-with-git

(more advanced)

  1. http://joemaller.com/990/a-web-focused-git-workflow/

purpose:

  1. learn Git. Appropriate it to a publishing tool (it already is).
  2. working with Wiki is limiting that wiki is good for organizing thoughts (due to it's "markdown" structure), but not completely versatile when need to work with code recipes better. Wiki good to look at code recipes, though. Because project information provides richer context of what's happening during development (than the usual texts publishing on readme.md on git projects..)
  3. want to start my own cookbook as a learning tool/archive. Starting to look at projects/tools in media design wiki.

how-to:

  • name: git.foshan-1992.pw (?)
  • does it conflict with other programs that I run on raspi that has a server, (for example like last time running pi-hole and hosting my website...was a mess)

process

folder structure of Git trying to fork

p2p

1200 x 1200 px


more cat books in computing http://www.kumei.ne.jp/c_lang/nwpyokoku3.htm thinking about possible p2p projects to do.

reference: https://docs.datproject.org/docs/install


Dat foundation listed several p2p projects https://dat.foundation/


Today (26-06-2019) during Michael's prototyping the class asked him about Dat, since we started talking about using Syncthing to transfer files.

emule

publishing with mailing list, rss and blog?

for example for ChannelChannel project I would like to have a mailinglist;

rss for reading interesting blogs;

a blog for myself?(in the future)??

want to look into pelican

https://blog.getpelican.com/

inventory

Pi Name ip location use/purpose OS SD card others
Black case 3B Pi Rotterdam house VPN, host ChannelChannel website BusterLite 8G Need to see if there is DHCP at my house
2B Beijing Example Example Example
2B Foshan host foshan-1992 site during summer n/a Example
2B Rotterdam/elsewhere Pi-hole Example Example
Example Example Example Example Example