2009 102
this page is under construction ;)
Command Line Media
While the command line, or shell, is a text-based interface, this does not mean that manipulating other kinds of media, image, sound, video, is excluded. Far from it, many command line tools offer extremely useful and uniquely powerful functionality difficult to achieve with GUI programs. In addition, by applying the basics of pipelining and abstraction (through creating your own scripts with parameters), the command line enables highly particular and personal media tools to be created by pulling existing tools together in novel ways.
Making a "frontpage" snapshot tool
An exercise to build a simple tool to support visual comparison of front pages newssites a la Sarah Charlesworth's Modern History (1978). The work, among many other works of interest, can be seen as part of the Order Of Things exhibition, through the end of the year at the MuKHA, Antwerp.
Exercise explores the principle of:
- simple command line tools focused on doing a simple task
- the idea of a pipeline to join various commands together
- introducing the concept of a variable to make a personal "tool"
- cron jobs to automate a process over a long time period
Tutorial
Getting acquainted with a tool
We start with the tool wget.
First, simply try to run it:
wget
wget --help
Too much information! A pipeline to the rescue!
wget --help | less
man wget
Man has an option to output print-friendly postscript output. It's described on the "man" man page. (That's right: "man man"!)
man -t wget
man -t wget > wget.ps
evince wget.ps
Start with example of how to rip the above page with wget. & re-assemble with montage...
Using the date tool for automatically naming a file.
In general build up from really simple CL exercises of using imagemagick, file manipulations (moving, renaming, copying, deleting)... Introducing public_html...
Necessary Tools / Topics:
- basics shell / file manipulation: cd, pwd, mv, cp
- remote connections with ssh
- wget
- ImageMagick: convert, mogrify, montage
- find
- public_html
- crontab
- date
Concepts:
- variable
- backquoting
- reading man pages
- setting options
A sample:
wget -r -l1 --no-parent -A "*.jpg" "http://www.sarahcharlesworth.net/series-view.php?album_id=34&subalbum_id=53"
mkdir images
find www.sarahcharlesworth.net -iname "*.jpg" -exec mv {} images \;
montage images/* modern.png
Resources:
- http://linuxgazette.net/issue70/chung.html
- http://tipotheday.com/2007/10/11/wget-some-quick-tips/
- http://ubuntuforums.org/showthread.php?t=718549&page=2