2010 Workshop Notes BarnCamp

From HacktionLab: A UK-wide network tech-activists providing meet-ups, events, workshops, national skillshare gatherings and hacklabs
Jump to navigation Jump to search

Command line interface

Thanks to Chickpea for taking notes and to Julian Assange for the "an" anagram generator

See also the workshop promo blurb

<pwd> - tells you where you are, directory-wise

<ls> - list stuff - lists specifications (list contents of directory you're in)

<ls -l> - long list format (shows you more information about your file paths (NOTE: other stuff listed stands for: permissions, who owns it, number of characters/bytes, last time it was altered)

<ls -a> - list ALL stuff, including hidden stuff

<man ls> - manual for 'ls' and gives you all different options for using this program (NOTE: you can use <man xx> where xx is the program, you can get the manual. There is even a manpage for man; to view it type man man)

<more xx> - where 'xx' is the file name, to see the context of the file

<cd> - change directory

<cd ..> - go back a directory

<an> - create an anagram

<typing "ctrl+c"> stops whatever is happening in the terminal (NOTE: because the anagram thing keeps printing the results whatever...you can stick the results of the program into a file...)

<an burners >anagram> - run anagram program with the word 'burners' and stick results into a file called 'anagram'

(started playing around with 'an' program)

<XX |less> where XX is the program that spits out lots of information; using a pipe '|' passes the information to another program. In this case putting '|less' paginates the output, allowing you to search and navigate throughout.

<XX |more> just spits it out, you can't really navigate throughout

<nano> - the text editor usable via a shell

<nano XX> where XX is the file name, tells nano to open the file to edit

<XX |cowsay> XX being a text file - HAHA - a cow just appeared in the shell!

<ping XX> where XX is a web address, pings that address, useful for many things............

<sl -F> CHOO CHOO! (note: try <sl -a> and <sl -l> too)

For further reading on the command line for routine tasks (e.g. making directories, moving and copying files, etc.) plus a whole lot more, e.g. Linux file system structure and what a shell is, visit LinuxCommand (recommended!).


Some tools

Yahoo Pipes - does feedscraping Deri pipes - free version of yahoo pipes

vision on tv Feed informer - rss aggregator to output other mixed rss feeds

Example of sites using aggregation

Indymedia Two platforms in use 1. indymedia.org.uk - the national site 2. local sites - different collectives use different systems so not all of the content gets pulled into the national site. Was decided that all sites should be able to be pulled into the national site, and also potentially feeds from other sites. One idea is to use Mir - this has already started. Also idea to use another system. Technical and political challenges (e.g. of political - if somebody clicks on a link from the aggregator, should the link stay on the national site, or should it go to the local site. Makes a big difference for when people post comments on one site but not the other.)

Loops could be a problem - two sites pulling in each others feeds.

How to moderate feeds - picking out the stories that are relevant. Using 'trusted feeds' with higher prioirity. Using filters similar to spam filters which learn over time what content you like. Using Feed informer to create new metadata

True Anthum Commercial product that pulls in content and displays them on one page. Not clear how it works - the makers don't tell people. Thought that there's open source products that do the same - but not one product that does all of it.

The issues about comments, and should they be aggregated? If content has been re-published or syndicated, it gets really confusing if there are multiple streams of commentary getting re-posted in different places. But then how does moderation of comments work? Centrally? What are the political ramifications of that?

Discussion about Inydmedia in the British Isles - the UK project, move towards syndication, what would people want? Discussion about what people would want from the ideal site.

Tagging: location, topic. Location: the challenges psychogeography; different names for same places, e.g. near a tube, off a road, postal code. Can some of this be automated using metadata, e.g. EXIF.

Retagging - adding tags to other people's posts. Theoretically useful to decentralise ontological process, but highly prone to abuse (spam and vandalism.)

What advice should we be giving campaigners on syndicating their content? Mick's examples: wordpress > drupal pulling images from Mule. Aided by the consistency of wordpress feeds. Set up a module that reads feeds in drupal: feedAPI or feeds. Check it out at mindymedia.clearerchannel.org

How are feeds being generated in Hyperactive? The many different standards for feeds are confusing, and underpinned by sectarian twaddle. Having to export 5 different standards is a pain in the neck. Hence the importance of feed-fiddling. Also educational challenges in getting people to write & tag effectively. Also many bloggers & CMS users don't even realise they have an RSS feed. What sort of processes are needed to get your feed aggregated in other places? Do we need scrapers to fill the gaps?

Indymedia should allow people to publish a feed from their campaign site, and shouldn't be preoccupied about the inydmedia brand. This is a vague proposal.

Mara & Mick's consulta/survey - rather than asking IMCistas, who else should we be asking? And how? Maybe the list we used to sdvertise BarnCamp?

This conversation will be continued on the hacktionlab mailing list.

Ben has been asked to post some examples of pipes he's written HERE.

Dual Boot and Virtualization

Dual Boot

This is where you have more than one operating system (OS) installed on your computer. You can have multiple OS's installed on a computer - but the more you have, the more tricky it gets to manage the booting of them - only one OS can manage the boot loader, in Linux this is usually Grub.


Have a look at what is already installed on your computer's hard drive with a live start up CD like Ubuntu or Debian and use a partitioning application like Gparted. Parted Magic is a dedicated hard drive partitioning live CD which contains all tools and apps you will need for preparing your hard disk for installing Linux (as well as all sorts of recovery utilities and more!).

If you want a fresh start and don't mind wiping the whole disk, then just install direct from the live CD.

If you do want to keep what is there already - make sure you back up any essential files first just in case!

For Windows and Linux dual boot - Install Windows first and then install Linux. It is good practice to prepare the Windows partition from inside Windows first before using the Linux live CD installer to install Linux.

If you want to change, restore or rescue how your computer boots (from the MBR - master boot record), there is a utility called Super Grub Disk:


GRUB bootloader tutorial:


'Dual boot' & Virtualization tutorial:


There are thousands of web pages on the subject - Google is 'your friend'! find a page that suits you, have a read then give it a go! If you get in trouble - join a help forum, all Linux distributions have their own dedicated support forum where people will be happy to advise.


Virtualisation allows operating systems to run within other operating systems.

This is very useful especially if you just want to try out another operating system without having to install it.

Virtual Box http://www.virtualbox.org/ is a popular virtualization application that you can install - follow the instructions for you OS (operating system) on how to install it.

This emulates a computer so you can have a lot of virtual computers running at the same time, but has memory and cpu usage overheads.

Linux Vserver was also talked about, is more efficient than running a 'virtual machine' but more advanced and limited to cloning the host machines (Linux) OS.

Asterisk / VOIP / SIP

This talk was not planned in advance and really should have been, so thanks / sorry to everyone for sitting through those bits that should have been in the planning and not in the talk, and please get in touch if you have any questions that were missed in all the faffing about.


SIP accounts can be gotten freely (for incoming) or cheaply (for outgoing too) from sipgate or from other providers. A sip account will allow you to use the global Internet network to talk to people all over the world, whether or not they have Internet access. It is required that you have internet access, however, and a SIP client on a computer (softphone), dedicated IP phones or on mobile.

Asterisk is a free, open source PBX (Private Branch Exchange). You can use it to create a telephone system in your office / home / temporary event. All you need is a LAN and the ability of people there to connect to it through SIP clients, perhaps on mobiles. You can create internal SIP accounts and hook it up to external SIP connections or even BT lines.

It is technical and there is a learning curve. It was not possible to give you a complete "how-to" in the time available. However if you are interested in setting up Asterisk there are a number of web sites and mailing lists that can help you. Voip-Info is a community-maintained site that has good Asterisk documentation and you can find forums and mailing lists at Asterisk.org.

There's a web GUI for it called FreePBX and if you want to get started quickly (but you need a dedicated machine, or at least a dedicated hard drive and dual boot) you can download a CD with a whole system on it based on CentOS which includes Asterisk and FreePBX. It's called Trixbox.

Contact me

I'd love to get involved in some Asterisktivism so if you think I could possibly help with whatever good stuff you're doing please don't hesitate to get in touch - naomirosenberg at yahoo.co.uk

And, while you're here ...

Our father, who art in /sbin,
init is thy name.
Thy PID is 1;
Thy children run
In user space as they do in kernel.
Give us this day our daily RAM
And forgive us our interrupts
As we are nice to those who interrupt us.
Lead us not into uncaught exception
And deliver us from SIGKILL
For thine is the system
And thou art the saviour
For ever and ever – until we upgrade yer!

(PS. I'm now not sure about the technical accuracy of how I'm using the term "interrupts". Answers on a postcard to naomirosenberg at yahoo.co.uk please!)