Wednesday, March 4, 2015

Murder

Let's be clear about this. Indonesia is committed to murdering Myuran Sukumaran and Andrew Chan. There are many things wrong with this.

Indonesia and in particular President Joko Widodo assert that this is their sovereign right. That may well be, it doesn't make it right.

State sanctioned murder of this type is wrong. It belittles every one of us. It reduces our humanity and stamps us as people who cannot find better, more effective ways of dealing with our problems. Yes, drugs are a problem; yes, people who traffic in drugs are a problem. No, murder is not a solution to these problems.

Wherever state sanctioned murder is practised the final arbiter of whether a prisoner is murdered is a politician. The last man hanged in Victoria, Ronald Ryan, had his clemency appeal rejected by Henry Bolte, then Premier of Victoria. This decision was no doubt influenced by political considerations and future election prospects.

Nobody watching this horrible situation unfold in Indonesia could be in any doubt that the continuing, intransigent, determination by President Widodo to murder Sukumaran and Chan, is at least in part, complicated by election promises made by the President. Nobody could be in any doubt that President Widodo has backed himself into a corner from which he can find no way out but the murder of Myuran Sukumaran and Andrew Chan.

Thus we move from the "sovereign right" of Indonesia, to the political exigencies of its President as the real driver for these murders. Whilst the President would like to see these murders as a show of strength on his part, they are in fact a sign of weakness. He is unable to see an effective strategy to deal with drugs in his country; he is unable to show mercy in the face of requests from friends of his country. Instead he is simply hell bent on murdering two stupid young men who have long ago redeemed themselves in the eyes of the world.

It is unbecoming of a country of Indonesia's richness and stature that its President is unable to see a better and more humane way of treating two stupid young men. Two young men who are so thoroughly reformed and such an asset to the world alive.

Mr President you have the power to avoid this wrong. Show real moral strength as a person and offer clemency to these young men.


Tuesday, March 25, 2014

Dyneema Rigging

When Zuline was launched she had beautiful hand spliced galvanised rigging. It was done by a very talented friend and it was very effective rigging. It was also very heavy - heavier than it needed to be.
Roll forward nearly 10 years. Zuline's mast was in sad need of some care and attention. She was launched in mid winter and it had been very difficult to get varnish to go off in the cold community hall where the mast had been. Consequently she was launched with only about 3 coats of varnish on the mast. We had chased the varnish for a number of years, just keeping ahead of it from a harness suspended from a halyard. A period of ill-health had put a stop to that and the mast had deteriorated.
We decided, after much agonising, to pull the mast out, strip the mast back to bare wood, make the minor repairs required and then get a decent cover of varnish on it.

On December 16 last year the mast came out, and it was a sorry sight. We set it up on trestles and got loose with the heat gun and scraper to remove the remaining varnish. It quickly became apparent that we might as well do a proper job and remove all the hardware as well. We needed help!! So we engaged a local shipwright to remove the hardware, do the minor repairs, sand the mast and prepare it for varnish. Once done Celia put 6 coats of Werdol Rapid Clear then 6 coats of Werdol Clear Varnish on both the mast and the boom. We are very impressed with this system so far. The Rapid Clear requires no sanding and only 5-6 hours between coats. So you get a quick build of product with lots of UV protection. Then the Clear Varnish requires sanding and 24 hours between coats. After this the spars looked glorious.

Meanwhile we had decided that all the near water stays (bobstay, whisker stays and boomkin stays) needed replacement. However we couldn't find anyone in Melbourne to splice them up in stainless. Eventually I tracked down Joe Henderson in Sydney who said "Put them in the post. We can splice them in galv, though I wouldn't recommend it, stainless or Dyneema." We settled on heat set Dyneema with overbraid.
Between Christmas and New Year we took a good hard look at the other stays and realised that whilst they mightn't all need immediate replacement they would soon enough. We took the tough decision to re-rig completely in Dyneema with overbraid. This was beginning to be a money pit. That's the problem with unexpected expenditure.
The thimbles were made on a CNC machine from Aluminium bronze with files provided by Joe

The Bobstay is 13mm Dyneema with Overbraid and served overall

Stays for a Lyle Hess 32 foot cutter

Whilst we were at it we embarked on a mission to remove anything hard or heavy that had been damaging the spars, particularly the bowsprit. As well the stainless lifelines gave way for new Dyneema ones.
The bronze piston hanks from the two headsails were quickly removed with a set of bolt cutters and replaced with our own design of Dyneema soft hanks.
The hanks were made from 2.5mm Dynex and are captive on the sail

Finally the big day arrived and the mast was stepped. It was a great relief to have all the work come to fruition after almost 4 months out of the boat.

The end result is a different rig entirely. We removed 9kg of near water stays and 52kg of above deck stays. In their place we put back 3kg of near water stays and 13kg of above deck stays - and that includes the bronze bobbins. This represented a 74% saving in weight! Further weight reduction has come with the removal of the stainless lifelines, removal of stainless shackles and replacement with soft shackles, removal of reefing winches and a rethink of reefing...Overall the weight reduction is of the order of 70kg.
Joe Henderson was pleased with the outcome - and so are we. Joe had to remake only one stay on the day after launching and that was a quick and simple exercise. All the others fitted perfectly out of the box...and they look the part.
A happy rigger with his work

Now we just have to tackle the rest of the varnish. After the mast, that all looks quick and simple!

Saturday, March 9, 2013

Markdoc as a Task Manager!

If you are familiar with Extreme Programming, you will be familiar with Backlog and Sprint as concepts. Otherwise a simple description is that Backlog is all the bits you have to build and Sprint is those bits from the Backlog that you are currently focusing on. These are usually expressed as short "user stories". Please don't tell me that I've over-generalised...I already know that!
So if I generalise further there's a lot to be said for those same sort of concepts applied to other kinds of projects - not just software development. I wrote previously about the excellent Markdoc wiki script and this use case uses that same script.
I first initialised a Markdoc wiki. The order is important here so do this first. I was intending to make it a Git repo so I used the "--vcs-ignore git" flag so it created its own .gitignore. Then I initialised it as a Git repo. The actual directory is inside Dropbox. Inside Markdoc's wiki directory I created 4 sub-directories:
  • backlog
  • active
  • blocked
  • done
Then I set up a remote repo on our server. These repos are managed by the wonderful Gitolite and that will later be important. This step allows others to clone, work on and then push their changes. Alternatively for users that don't work in Git we can share the Dropbox wiki directory with them so they can work in there.
Then on another user on the server I cloned the remote repo. This repo is the one where the Markdoc build takes place and where the web server serves from. The web root directory is the /.html directory in the repo. A launchd job runs a "git pull" at set intervals. If the remote repo has changed then the pull results in a merge and that in turn kicks off a post-merge hook which issues the "markdoc build" command which populates the /.html directory.


Web access is managed by a web server realm that limits access to group members and requires authentication.
So a couple of explanations are in order. Firstly why have both the remote repo and the repo on the web server? Why not just combine them? Two reasons. Firstly, by default, the remote repo is a bare repo and I think it's good practice to keep it like that. That means that there is no working directory and therefore nothing to run "markdoc build" against. Secondly gitolite fairly tightly manages ssh access to that user so it's not practical to configure and remotely manage the web server from that account.
The wasteful bit is the launchd job which runs, on the web server user, at fixed intervals regardless of whether there has been an update to the remote repo or not. I'm toying with ways of fixing that at the moment.
To use the system you populate your backlog directory with Markdown documents, one for each task. We use a fixed template so that we get all the info we need in each "task story". The first level 1 heading is a descriptive title for the task and this is shown on the web as the document's title.
As tasks become active they are moved to the /active directory and info about who is acting on the task and what the dates are is added.
If a task becomes blocked it's moved to blocked and a narrative explaining things is added. Finished tasks are moved to done.
Many task management systems rely on one line task descriptions. For complex jobs these descriptions are often not enough to keep everyone on the same page and to communicate intent. This system changes that. It also allows all of the team to see where the project is up to and it allows stakeholders to see exactly what's happening in the project.
If one of the directories - for instance /blocked - doesn't have anything in it then it's not shown on the wiki page on the web.
Lightweight, fast and flexible. There are dozens of other web systems for Scrum and XP but I've seen none as simple as this and as flexible for other projects. Tell me what you think.

Sunday, March 3, 2013

Lightweight Continuous Documentation Build

You know this fixation we all have with the "document"? Yeah, that's the one, the one where we get all precious and don't want to show anyone the "document" until it's all nicely polished.
Well nuts to that!! I've been casting around for some time now to get a nice simple workflow that combines a Git repo with a lightweight wiki engine. I've finally got it up and working and happy. It's a bit of a sweet thing.
Here's how it works:

  1. Write your stuff - you guessed it - in Markdown. Store the files in a Git repo.
  2. Don't bother creating the "document". Instead break up what you are writing into manageable chunks and put each of those chunks into a file on its own.
  3. Every now and then when you reach a point of wanting to go for a walk or running out of puff on what you are writing, do a commit in your repo. If you're not ready to show the world all of it then do a stash of the not-ready bits. But don't be too precious, this is about the conversation.
  4. When you commit a post-commit hook runs. It does two things:
    1. It issues a command "markdoc build". More on Markdoc in a minute.
    2. It copies the resulting html files to the htdocs folder on the webserver.
  5. The webserver serves your wiki content to the web.
It's really simple, really lightweight and really robust. Markdoc is the key component. It is a small Python script that takes the Markdown files and converts them to html and provides a tiny bit of structure. It can cope with a directory structure. It gives you back your html files along with a very simple directory listing "home page". Markdoc does this all with a two word command issued in Terminal on the Mac. It has an equally lightweight web server as part of the distro. Simply type "markdoc serve" and it will tell you where you can find the web pages with your browser.
I've chosen to ignore the built in server and instead I just copy the files across to the Mac server. That has a number of advantages. I can put the files for multiple wikis, each in their own directory, within the web root directory and serve from the web root directory. When I browse to the page I just get a directory listing, each of which is a wiki in its own right. When I open a wiki I get Markdoc's lightweight home page. It's very nice. Secondly I can use the Mac server's web hosting system to create a realm that requires access control. That means the wikis can be public or private as I please.
If I want to collaborate with someone on the writing, I don't do it on the wiki. That's only static html. Instead I get them to clone the Git repo and then push their changes back to the remote repo.
So why is this important? Well it means that we can share our progress with our team, our stakeholders and our collaborators. We don't get locked into "you'll have to wait for the next version of the document to see what's in it". Instead our team can see where we are up to, what we are thinking and where we have issues. It fosters discussion, collaboration and team work. It means we can't go off down a blind alley for too long before somebody notices; it means that people have a chance to see where we are going with our writing (and hence with the project) and to offer thoughts and ideas about how we might progress next.
It brings us one step closer to real-time collaboration. One step closer to breaking down the barriers that we've created, inadvertently, with the "document" and with our cumbersome tools. It allows us to step back in time using Git to reach a previous place if we realise we've drifted off track. It allows us to create a branch and work on an idea without fear of losing our work or getting confused. And all the while we are sharing our progress and sharing our ideas.
Very neat, it creates a very good working environment.
If you want some more details of the scripts and hooks let me know and I'll put them somewhere.

Thursday, February 14, 2013

iPad at Work - Writing

This is the first of a series of posts about using the iPad at work. I'm not going to be writing about the iPad as a calendar tool or as a way to look at your email. That's just so fundamental that we'll take it as read that you already do that.
What I want to talk about are the more interesting uses of iPad at work.


Writing

This is pretty fundamental as well. We nearly all need to write at work and many users of iPad will be heavy users of the writing capability. So here are some thoughts about writing with the iPad.

Get a Keyboard!

Seriously you can't write more than a quick note without a keyboard. There are lots of options out there from keyboard cases to Apple's very nice wireless keyboard. Whatever your choice get it and make sure that you are comfortable touch typing on it before you shell out your hard earned.

Go Markdown!

On the iPad most of the tools for working with Word are, in a word, kludgy. They are overweight and limited in their functionality. It's just not worth it.
Markdown is the only sensible way to write anything other than notes on your iPad. Don't be put off by the first paragraph saying that "Markdown is a text-to-HTML conversion tool..." it's much more than that. It's the way you want to do your documents because:
  • It's trivially simple to learn. It will take you 10 minutes to master it if you are as stupid as me. Most people take less time than that. There are cheat sheets available too. Here's a visual one. Download one and carry it with you for a while. Soon you won't need it at all.
  • It is brilliant for re-purposing what you write. You can write in Markdown and output to docx, odt, html, LaTeX, ePub...the choices are endless.
  • It is lightweight and human-readable. You can understand a Markdown document really simply.
  • It's text so even as fads and file formats come and go it's text and you can open a Markdown file in almost any editor since the beginning of the computer age. That also means it has probably the best chance of future proofing and it frees you to use the tools that you want, not some heavyweight, expensive, proprietary tool.

Get Dropbox

It doesn't have to be Dropbox, however Dropbox support is becoming pervasive amongst the tools you are going to want to use. Whatever you choose you need a way to simply get things into a position where they are accessible on your iPad, on any web browser and on your desktop/laptop. Dropbox ticks all of those boxes.

Choose a Markdown Editor...or three

There are lots of good Markdown editors for iPad. I like Writeup for most stuff (I particularly like its version management and preview of document contents) and I also like Drafts, particularly because of its Actions and URL Actions. I use Drafts for quick notes and the like.
In addition you'll probably want to get TextExpander, it will improve your productivity on iPad.
On Mac you can choose anything you like, as long as it supports UTF-8. I use a variety of tools including Textwrangler, Markdown Pro and Byword. Textwrangler isn't a Markdown editor, but there is a language module available for Markdown and if I'm using this I use the very capable Marked to preview and output. Windows has similar tools available. Just don't use Notepad...it doesn't save as UTF-8.
For me, part of the beauty of using Markdown is that I can pick and choose tools for the particular writing task. If I'm writing something with lots of code snippets or code listings in it I use Textwrangler because its programmers' tools make jobs like that easy. If I'm writing a short note I use Drafts...The results are interchangeable.

Output

Most of the tools we've talked about provide output to at least PDF and HTML. Some of them have many more tricks than that.
What we are going to talk about in the next post is a trivially simple way to output anything you like from Markdown. But before that...

Workflow

Let's just be clear about one thing when you are using Markdown: Formatting doesn't matter...bear with me and don't start getting grumpy because...formatting doesn't matter. Here's why.
Word and other tools like it have fundamentally stuffed up the way we do documents. They have encouraged us to conflate two unrelated concepts: What a document element is; and How that document element should look. Those are two separate and unrelated concepts.
The only time that those two concepts come together is when we choose a particular presentation mode and a particular presentation tool. For example in Markdown this is a level one heading: #Heading One
Now obviously that's not how we want it to look. But how do we want it to look? What will it look like in a Word doc? What about on a web page? What about in that LaTeX document for our Uni assignment where it has to be in accordance with the APA style sheet? Each one of those will be different and can change as we modify the style for that element. The only thing that's important is that that element is a level one heading.
So having got that out of the way and having already talked about the way Markdown is human-readable...that means that we don't convert from Markdown to anything else until the end of our workflow. At least not until the end of our iPad workflow. We do all our revisions in Markdown, we share the document around in Markdown and when we are happy about it, then and only then, we transform it to whatever our desired output mode(s) are.
OK, I'm with you already: What about track changes you say. Well for me this is a beautiful thing. I hate Word's track changes functionality with a passion. It is kludgy and dense and after you've been modifying a document a few times it gets plain horrible. We don't do any of that with Markdown. We don't have track changes...and we don't need it. I just say to somebody who is reviewing a document for me "just make whatever changes you like". That's because I use Git to version all of my documents and I use Git's diff tools to tell me what's changed and I then decide to accept, reject or modify those proposed changes. Now most people don't use Git, but they can use the very beautiful Kaleidoscope tool or one of a number of other tools around to do the same job...better.
The only other thing to talk about is tables. These are a bit of a pain in Markdown. There is syntax for tables but I find them a bit painful to do manually. So you have three options: either you create your tables as objects (pictures) and embed them in Markdown using the image syntax; or you do them right at the end in Word; or if you can type and you can find the Terminal app in Mac or it's equivalent on other platforms you can use these tools. More on those and on output in general in a future post though.

Monday, February 11, 2013

Markdown to Word

So here's the use case:
You are increasingly working on your iPad at work. It means you don't have to transcribe hand written notes into some other document and you can write documents completely on your iPad. The problem is that the iPad and Microsoft Word are poor partners. The best way to write on the iPad is to use a Markdown editor. It's a simple markup language, anyone can learn it in 10 minutes and it allows the documents to be re-purposed to Word, HTML, LaTeX, ePub, PDF or whatever. And everybody in the business world wants something in MS Word.
The further problem is that whilst Markdown is the bees knees, it's not trivial to do tables in Markdown. In fact writing tables by hand in Markdown is a pain.
This is a real scenario that's been troubling a couple of people I know. So I've been working on a solution. Here's what the solution and tool chain look like:
  1.  iPad combined with a Bluetooth keyboard. If you are going to write on the iPad then do yourself a favour and get a Bluetooth keyboard so you can touch type.
  2. A Markdown editor. I like Writeup on the iPad but there are heaps of others.
  3. iSSH on the iPad to access the server via ssh.
  4. Dropbox. You have to get stuff on and off  your iPad and there's no better way than Dropbox.
  5. Pandoc on an accessible Mac or Linux or Windows server. More on this below.
  6. R statistical analysis package. Stay in your seat...it will be alright I promise.
  7. These scripts.
Here's the workflow.
  1. You create a Markdown document on your iPad and store it in Dropbox. Where you want a table in the document you put a marker of the form @filename.extension@ into the document on a line of its own.
  2. Create the table data in MS Excel and export it as tab delimited into a separate named file for each table. The filenames must align with your markers from the step above, but without the @ at either end. Any strings with spaces in them in the table need to be quoted: "Jane Smith". Put these files in the same Dropbox folder as the document with the markers in it.
  3. Use iSSH to generate and transfer a key to your server and set up the server to accept that key. That way you can create a session on the server without passwords. Set up iSSH to run a script on login that calls the Main.sh script from step 7 above. This is a one time setup.
  4. Login using iSSH and choose GenerateTables.sh and run through selecting your table data and the output file name once for each table.
  5. Now from Main.sh choose InsertTableMaster.sh and tell it which file has the markers in it and what you want the document called when it has the tables in it. This will replace the markers with the actual tables.
  6. Now from Main.sh choose GenerateWord.sh and it will process your document into a Word document.
If this sounds complex it's not. One of the people using this has never used the Terminal and never wants to but they happily generate Word docs with tables in them. It is very quick. The table insertion process takes seconds to run and the conversion to Word takes under a second to run.
The package of scripts has a detailed Readme.md file with it and you can ask any questions on that site or in comments here. That link takes you to the overview page where you can read the documentation and learn about the very simple pre-requisites. From there you can either do a git clone if you are that way inclined or simply download the files as a zip.

Please give me feedback and suggestions in the comments.

Note 1: Dropbox doesn't update on a computer unless you are logged in. Therefore you need to have a user logged in to the console of the remote computer and that user has to at least have shared the Dropbox folders that you want to use. Otherwise you save a file to Dropbox on the iPad and when you ssh into the server it isn't in Dropbox.
Note 2: Setting up keys for ssh can take a moment but it's worth doing. If you have trouble say so in the comments and I'll write a post on it.

Wednesday, January 16, 2013

Ranjini

The short summary: Ranjini is a Sri Lankan Tamil refugee - she has been assessed as a refugee by Australia. She has also been assessed by Australia as a security risk. Because of these two interlocking assessments she can neither be returned to her home nor released into the Australian community. She, and her 3 children - a baby boy was born last night, are detained indefinitely. You can see more about Ranjini's story here.
The Australian legislation has ASIO making security assessments of asylum applicants. However neither the applicant nor anyone else (with some limits around a new review process) is allowed to see the assessment or know the reasons for it.
This is the crux of the matter. We have a government and a minister who have so badly botched the issue of asylum that the public no longer trust anything they say on the matter. Yet at the same time the public is expected to believe them when they, in a legislated framework, essentially say "trust us this woman is a risk to the community at large". This is the core issue of secrecy in government. It is also the reason that there must always, in a democracy, be a tension around secrecy.
I have not yet reached the point where I can say "there is never a reason for government secrecy'. What I do believe is that secrecy, in and of itself, is a danger to democracy. In the hands of the inept - and that's where I place this government - or the despotic, it is truly dangerous.
When we do not have trust in the sound administration of government why would we trust the executive when it says to us, in effect, "trust us this woman is such a danger to all of us that she must be locked up indefinitely without trial, without public scrutiny of the evidence and without capacity for appeal". That seems neither acceptable, reasonable, democratic nor humane.
So will Ranjini ever be deemed able to be released? Will successive governments continue to incarcerate her without trial or procedural fairness until she is so old and feeble as to be deemed a risk by nobody? What will happen to Ranjini? Will she ever be released? Will this or successive governments ever accept that they have an obligation to disclose to the public and to the affected person the matters that they say are enough to indefinitely detain them?
We release bombers, rapists, murderers and paedophiles into the community at the end of their sentence. Some at least of those people have been shown by research to be a high risk of re-offending. Yet we, rightly, say that they have served their time and we release them.
Ranjini has never been convicted of anything. Ranjini has never seen the evidence that purportedly shows her to be a risk, Ranjini has never seen the negative security assessment. No fairness, no natural justice and no scrutiny of the actions of secret government.
In the absence of the capacity to review, debate and scrutinise these matters in a competent court, we are left with only one way of viewing this: The decision to indefinitely detain Ranjini, and many others in her position, must simply represent complete paranoia on the part of the secret arms of the government and on the part of the executive. Why else would appropriate scrutiny of the assessment be barred? Why else would there be no basis for appeal?
We as a country should be scared for Ranjini and others like her. We should also be scared for the implications for legal fairness and democracy for the rest of us.
_____
A brief addition to provide some more articles to help understanding of the situation Ranjini finds herself in.
Julian Burnside
Michael Gordon

Thursday, January 10, 2013

Being a Git!!

To paraphrase Linus Torvalds, he’s an egotistical bastard and so he always names his software projects after himself. Hence the name Git!
This post is not for coders, hackers or other nefarious creatures who write software for a living. This post is aimed at the common (wo)man in an ordinary old business.
Why would that sort of person be interested in Git? The Git that’s a distributed version control system (DVCS)? The Git that’s written for software development teams, like the one that builds and maintains the Linux kernel?
Let’s look at Git a little bit first (please don’t go away…I’m getting to the point). Git is:
  • A file system based version control system. That means it keeps its files in the file system of your computer, accessible to you with all the tools you might normally use to manipulate and work on those files.
  • A distributed system. That means that there doesn’t have to be a centralised repository although there can be. It also means that you can keep a copy of the repository on your local machine - desktop or laptop or both - and you can share it with other users without a central repository…or with a central repository or a number of central repositories.
  • A version control system. That means it keeps track of every change to every file that is added to Git for the life of the repository.
  • Capable of initialising and using remote repositories to enable repositories to be backed up and shared.
  • Lightweight, in the sense that it is trivial to install and manage, but deceptively powerful.
Imagine a scenario where you are an executive in a company, you travel a lot and you are currently working on a major rebranding of a product line. You are using an external graphic designer to create the logo and the “look” for the rebranding.
You want to be able to work on the rebranding project - all the documents and supporting materials - on the plane when you are travelling and in your hotel rooms. Meanwhile the designer is working on the logo, the general branding, the templates for the brochures and product information. She needs your feedback regularly. You’ve tried doing this by email and saving files to your local machine. However your boss is very picky, he wants to make sure this is exactly right. That means that you and the designer have been through multiple iterations and you are both losing track of the file names which are starting to look like logo_draft13_pete_v0.23.
This is the sort of situation where Git excels. It is trivially easy[1] to set up a Git project that saves you all the hassle. It would look something like the following picture.



Here’s how it works:
  • One of you would set up a local repository and, because of your specific needs, that person would also set up a remote repository[2]. It might be possible to operate in this scenario without a remote repository but it will be simpler with one.
  • That person would then add[3] and commit all their relevant files to their local repository.
  • That same person would then push their local repository to the remote repository.
  • Person two would now clone the remote repository to their local machine.
  • Finally person two would add and commit any files that they have that are relevant and that are not yet in the repository. They would then push their local repository to the remote repository. Person one would pull the remote repository. Now both people have all the files in their local repository and all the files are also in the remote repository.
Now the small fly in the ointment is that Git, by design, is a command line tool. Most of us can’t be bothered with tools like that. We are so used to GUI tools that we simply don’t want to work any other way. So we want a setup like this:



Every platform has various Git GUIs available, I use Sourcetree on the Mac but there are lots of choices.
As each person works, they work on the files in their local repository. They add new files to that repository and commit those files. At each commit Git takes a snapshot of the project and gives that snapshot a unique name. You can wind back to any commit at any time. It’s like endless versioning.
When either of you is ready they can push their local changes to the remote repository. This merges those changes into the remote repository. The other person, when next on line, is warned by their GUI tool that they are “behind” the remote repository so they can pull the remote repository to their local repository. That merges those changes in with their work and they can then push their changes back to the remote repository. Then the other person can pull…and so the process goes on[4].
Of course the next thing that happens is that your boss wants to see where the whole project is up to…well they can just clone the remote repository onto their machine and they have all the files to hand. The boss then thinks you need more help, the project’s growing, so he assigns two more members to the team. They just need access to the remote repository, they clone it and they’re ready to go.
This brief run through has barely scratched the surface of how Git can be useful to “non-coders”. For more information start with the following references.
Git homepage
A great Git book freely available on-line.
Github is a hosted Git service with both free and paid plans.
Git is also used as the “back end” for blogs and wikis and a whole range of other tasks. Google around and see what you find.
Oh, did I mention that Git is Free Open Source Software?

  1. Installing Git is a very simple and quick process, indeed if you have a Mac or a Linux machine it may come already installed, if not it’s the work of 30 minutes. Installing Gitolite (see other footnotes) is the work of maybe an hour, mostly getting keys set up. Anybody who can type in the console and can read instructions can do this from the very good directions available. Once installed setting up a repository takes less than 5 minutes.  ↩
  2. Remote in this sense means on a server accessible to the internet. Typically this repository would have its access controlled with something simple like Gitolite. Gitolite enforces extremely fine grained access control and requires all traffic to occur over SSH which is a secure link. Alternatively you could use a hosted service like Github.  ↩
  3. Text formatted like this denotes an actual Git command line command. To add a file called test.txt to Git the command would be entered like this: git add test.txt with add being the key word. You can do it quickly and simply from the command line, or more usually, you can use a GUI tool.  ↩
  4. Git can diff files between commits to show you what has changed. In general this capability is limited to text files of all sorts. Binary files such as PowerPoint, Word, Illustrator…can’t be diffed. Git knows that they have been changed, but can’t tell you visually what has been changed. Nevertheless Git keeps a version of every change that you have committed.  ↩

Thursday, January 3, 2013

The Unexpectedness of Loss

Googling around tonight, as no doubt we all do from time to time, I was hit with a sudden sense of loss. I found that a bloke I knew briefly, but well, had died just over 3 years ago.

Ray Lynskey was a young bloke in the Royal New Zealand Airforce in 1978 when I met him. Ray was also a glider pilot. I was younger by a few years, a first year Uni student, far from home and finding life tough.

My escape was to fly gliders. That's where I met Ray. After a long day flying from a freezing airstrip at Wigram in Canterbury, we would retire to the bar. From there it was too far, too late and too cold to hitch a ride back to Uni. Instead Ray would give me a bed in his immaculate but very plain Airforce house on the base.

Ray was a quiet, upright sort of bloke. He looked after people and was a quiet leader.

I moved on, left Uni and went back to the north of the country where it was at least warm. Ray moved on too. Later leaving the Airforce and becoming a commercial pilot. Along the way he became the World Gliding Champion in 1995 and becoming the first pilot to fly a glider 2,000 km non-stop in 1990.

Ray died in 2009, of an inoperable brain tumour, after a short illness. I didn't know that until tonight. It took me aback with a strong feeling of loss. Ray was a great bloke, quiet and kind. He supported me when I needed it and for that I will always be grateful.

Wednesday, January 2, 2013

The Distributed Social Web

It's 30 years since the Internet began with the roll out of TCP/IP. Earlier than that the basic design of the Internet was generated in the ARPANET. The Internet and its progenitors had as a key design goal a distributed and resilient infrastructure. Poor reliability of links and nodes meant that the network needed to continue to operate even if links or nodes went AWOL.
Those requirements remain and much of the infrastructure that runs on the Internet demonstrates similar design. Two good examples are email and the XMPP protocol, both of which use a federated model. My mail and XMPP servers don't have "hard wired" connections to other mail or XMPP servers. When I send mail or message someone on another network I don't create an explicit connection between my server and theirs. Instead the traffic is routed through servers which federate with mine as required. In the case of XMPP the federation is generated either when I log on to an XMPP account not on my server or someone on another remote server messages me. In the case of email it happens when I send or receive email. In either case there are often multiple routes available and the connections live only as long as needed.
It's a good system that requires little human interaction. I don't have to determine how to get my email to you. Instead I enter your address and the various components of the email system work out where you are and how to get to you. Ditto with XMPP. The more infrastructure nodes that are "out there" on the Internet, the better the system works.
Now to a change in the way the Internet works. I'm not talking about the underpinnings...rather I'm talking about what sits on top of them. We are seeing the rise of the internet monoliths. Google, Facebook, Twitter...the business model of these and other Internet monoliths requires that you go to their "monolithic" location (I know that they are certainly using distributed infrastructure, its the presentation I'm talking about).
The business model relies on monetising either your presence, your traffic or increasingly it seems, your data. At the heart of all this is your data. We've seen the "privacy" shuffling going on at Facebook for some time, we saw a recent Instragram furore about data (and no I don't buy the hysterics over that but it was nonetheless troubling). Facebook was recently reported to have 900 million members. Facebook in this post suggests it's 1,000 million people. Those are phenomenal numbers. If you are one of those people, then your data is deeply embedded in Facebook. How would you migrate to another platform? What do Facebook's terms of service say about ownership and copyright of your data? Do you know?
These are all pretty valid questions given that, in simplistic terms, you and Facebook have different goals. You want to create and maintain connections with your friends. Facebook wants to make money out of your presence on their site and your data on their site. Please note: I am not saying that Facebook wants to sell your (explicit) data. I do believe that it's clear however, that their game plan is to make money from the fact that your data is on their site. That's good and proper that they should want to make money. It's your choice about your involvement however.
Data is also explicit (your posts, your pictures...) and implicit (who you talk to, what you say you do, where you say you visit...). The implicit data is probably more important than the explicit...hence the issue of Facebook following users beyond Facebook that arose last year.
Given these divergent goals it's likely at some point that someone is going to be unhappy about the deal. More to the point it comes to some basic questions about what we want from the internet...do we want large monoliths that can arbitrarily decide how we use the internet and what, to a large extent happens to our data?
The problem is fundamentally that the infrastructure of the "social web", unlike the infrastructure of the older parts of the web, is these monoliths. It isn't distributed - you aren't choosing a "Facebook provider" you're choosing Facebook.We are putting a lot of our eggs in one basket with our use of the likes of Facebook and Twitter.
The other option that's emerging from these concerns are distributed social networks: you choose which provider you use, or you create your own, and then you federate with other providers so that you remain connected and can interact and collaborate with others. One good example of this is Diaspora which grew out of exactly the concerns I've expressed. It's an early stage project which is just on the verge of being generally available.
I'm hoping that the next wave of the internet sees the rise of the Distributed Social Web. That way we begin to have choices. We can continue to use the big monoliths or we can begin to take control of our presence and our data and connect with our friends, family and colleagues in new ways and with new capabilities.

Which Blogging Platform?

I’m looking for a new blogging platform without a lot of success. So, here are the criteria:
  • Must store posts in a user-accessible directory structure as text files. I’m not going to be stuck again unable to get posts out if I want to migrate somewhere else.
  • Must be able to use Markdown as the preferred markup language.
  • Must be self-hosted.
  • Technical requirements:
    • Any of PHP, Ruby (but I’m stuck at 1.8.7 on the server so no requirements for 1.9.x), Python…Mac OS 10.6.8 is the server version and we’re stuck there for various reasons for the foreseeable future
    • Simple to install - I don’t want to have to spend days installing and then have a heavy management load. So installation should be fully scripted or installer based
    • Git backend would be a big bonus. We’re running Git with Gitolite on the server. It’s magically easy to install and use and I’m a big fan. No hosted Git solutions though please…so no Github or Heroku
  • Should provide existing CSS, templates and blog structure. I don’t want to have to fight for days to set up a site that looks OK and has some basic structures such as menus
  • Preferably with its own on-board commenting system
  • Must be FOSS (Open Source) software
If you know of anything that fits the bill please talk about it in the comments or head over to Twitter and tell me about it…I’ll be eternally grateful.

Wednesday, November 28, 2012

Drafts and Dropbox Sync

I like Drafts on iOS. It’s simple, quick and efficient. However the way it appends to Dropbox annoys me.In my Dropbox I have one directory called nvALT which is where I keep all my miscellaneous text files. I rely on nvALT to find stuff in those files and nvALT will only act across a single directory. I have a scratch file in nvALT that I use for all text clipping I do. I use a LaunchBar shortcut to append selected text to that file.
Drafts will append text to a file in Dropbox also. The problem is that it always puts it into /Apps/Drafts/Journal.txt and that appears to be a hardcoded path.
I don’t want two sets of text clippings, and I don’t want one of them outside of my nvALT directory. This sent me on a path to see if I could somehow move all the text into my scratch file in nvALT. I’m a rotten coder but I managed to hack something up that does the job. It’s in two parts. The first part is a bash script that checks to see if the /Apps/Drafts/ directory content has changed and then checks if the Journals.txt file has changed. If it has it appends the contents to scratch file.
The second part for Mac users is a plist that loads the script and keeps it chugging away.
As always, use these scripts at your own risk and I’d love to hear all the ways that you find to make them smarter, better, more elegant and more robust. I told you I’m a crap coder.

#!/bin/bash

#This script is designed to combine two scratch files that I use for holding snippets of text.
#They are both in ~/Documents/Dropbox. The first is in the /nvALT directory and is called ScratchX.txt I use it for clipping text to on Mac
#The second is used by Drafts on iOS and is in the /Apps/Drafts directory and is called Journal.txt
#I create a dummy JournalB.txt and use diff to check whether it and Journal.txt remain the same. If they differ we copy the diff to ScratchX.txt
#It requires a change in the /Apps/Drafts directory to trigger anything further.

#Create a directory listing file
touch ~/tmp/dirb.tmp


while true; do
  #List the directory and put it into dira.tmp 
  ls -l /Users/criticalold/Documents/Dropbox/Apps/Drafts > /tmp/dira.tmp
  #Check whether it differs from the last directory listing and tell us if it does
  diff /tmp/dira.tmp /tmp/dirb.tmp || echo 
  #Then do a diff on the files and send the diff to grep to get rid of some numbers that diff creates then append to ScratchX.txt.
  diff /Users/criticalold/Documents/Dropbox/Apps/Drafts/Journal.txt /Users/criticalold/Documents/Dropbox/Apps/Drafts/JournalB.txt | grep '^<' >> /Users/criticalold/Documents/Dropbox/nvALT/ScratchX.txt
  #Do our housekeeping for next time by making the *b files the same as the *a or the Journal file so that we do a valid comparison.
  cp /Users/criticalold/Documents/Dropbox/Apps/Drafts/Journal.txt /Users/criticalold/Documents/Dropbox/Apps/Drafts/JournalB.txt
  cp /tmp/dira.tmp /tmp/dirb.tmp
  #Wait for 25 seconds before checking again.
  sleep 25 
done
 
Now for the plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.critical.dropbox</string>
    <key>Program</key>
    <array>
        <string>/Users/criticalold/Applications/Utilities/Terminal.app</string>
    </array>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/criticalold/Documents/ShellScripts/checkdirectory.sh</string>
    </array>
    <key>KeepAlive</key>
        <true/>
    </dict>
</plist>

Sunday, October 2, 2011

On death and dying...

A close and dear friend is dying of cancer. He's young - early 50s and has been very energetic, active and fit. A high tumour in his large bowel meant that it was diagnosed late and the rest...is inevitable, despite his vigorous efforts to stave it off.
He has had surgery, chemo, a recurrence, a bowel obstruction, more surgery, a second opinion, peritonitis, a major wound infection and has been told he has limited time left. He's having more chemo to improve his quality of life and limit the tumour but ultimately that will change nothing. In the last few days he has again been admitted to hospital with another obstruction.
The medical and physical parts of this process will become increasingly difficult. I've been a close observer to the process too often before. Fortunately or otherwise my friend and his partner have not had the same experience. They don't have an intimate knowledge of what's to come.
In cognitive terms this is very hard to rationalise however. My friend was so recently fit, strong, energetic and absolutely in command of his chosen craft. His energetic stride, nearly impossible to keep up with and his energy and appetite a thing of wonder.
On his good days he looks little different, except for the obvious impact of exertion and the pallor of his skin. A delightful meal, dispatched in short order; an enlivened conversation; an energetic bush walk all lead you to thinking that this is the same old person you've known over time. It's a sudden jolt when you re-remember that here is a man with a death sentence. That's the thing he finds so hard. We talked about his strong preference to simply have died unexpectedly one day, far in the future. The difficulty of waking each day knowing that things are not going to improve much if at all, that whatever effort he makes - and he's making lots of effort to extend his life - it's unlikely to change the outcome. The difficulty of waking each day, knowing that the end is close and he doesn't want it at all.
I live every day with cancer, I've been through the process of being told I have cancer, that I will never be cured. But I also have every expectation that I will die, in due course, with cancer, not from it. Nevertheless I've got some small insight into the mental pathways that arise from that knowledge. It is much, much harsher for my friend. Some days he feels so good he, almost, cannot believe what he's been told. On other days the knowledge is clear, present and almost overwhelming. He describes it as being like what being on death row must be.
The physical hardship will get worse for him but the mental anguish and the ongoing grief for him and all of us around him is what's hardest to take at the moment.
Note: Apologies to Elisabeth K├╝bler-Ross for stealing the title.

Sunday, September 18, 2011

A failure of logic

Daily we hear Gillard and Bowen bleating that they don't want to be responsible for another dreadful accident like the sinking of the asylum seeker vessel at Christmas Island on December 15 2010. They therefore go on to say that it is necessary to process asylum seekers off-shore, in order to "break the people smugglers' business model" and thus to prevent a further tragedy of that sort.
By so doing they create a much greater tragedy - they leave asylum seekers without any of the protections that they have a right to expect under the Refugee Convention and other international obligations that Australia has signed up to.
So long as there is unrest in the world, there will be asylum seekers. So long as there are asylum seekers there will be people offering to transport them to places where they might reasonably expect to be safe. So what's the failure of logic? Simply this: Both the opposition and the government seem to think that it's OK to treat asylum seekers in contravention of our international obligations; in an inhumane way; to imprison them; to turn them back in leaky boats...simply so they won't have a chance to end up, graphically on our nightly television news. Gillard and Abbott don't want that sort of footage - it suggests that they might not be being humane or sensible in their policies. So perhaps it's not a failure of logic. Perhaps if you are Gillard and Abbott it makes perfect sense: if boats sink at Christmas Island, and asylum seekers drown then current policies come into question. If boats sink after they've been turned back to somewhere in Asia, or they disappear without trace (yes one of those was reported this week) then that's much less likely to cause concern in Australia. So, let's just let them rot in Manus, Nauru, or better yet send them to Malaysia. That's logical!
Sorry it must be me that's having the failure of logic. When put like that, Abbott and Gillard make perfect political sense. It's a great, great pity that it makes no sense at all to me as a human being.
How about we adopt  a sensible and humane approach here? If asylum seekers are driven to board leaky boats then that is not ideal, however it will be a reality, whatever we do. So why don't we just treat them decently when they get here? It's their (undoubtedly forced by circumstances) choice to jump on those boats and the reality is we can do little to stop it. What we can stop immediately is the inhumane mandatory detention whilst asylum seekers are processed. We can stop immediately Gillard and Bowen's proposed watering away of our international obligations. We can stop immediately any plans to process off-shore or to send asylum seekers to third countries for processing.
I wonder why we wouldn't do what we can, rather than bleating about what we can't change?
Footnote: It was edifying to see Bowen berated by protesters yesterday. His riposte? Not a very mature way to carry on a debate. Well Chris I couldn't agree more, the approach you have taken to asylum seekers is neither mature nor effective. Your engagement of the Australian and international community is neither mature nor effective. You reap what you sow Chris. If you take a more humane and mature approach you'd be surprised what comes back to you.

Sunday, September 11, 2011

Jabber, XMPP and why not let SMS die?

The history of internet messaging, as opposed to email, is somewhat vexed and perhaps nerdy. I suspect that's why Jabber has not yet caught on like it should. That's not to stop you getting on, what is now, a fast-growing bandwagon.
First what's Jabber? Jabber is an internet standard which was developed in the 1990s and is now called XMPP - eXtensible Messaging and Presence Protocol. You can find details at http://xmpp.org
You might be familiar with it under other names. On the Mac iChat uses XMPP and the iChat server on Mac is an XMPP server. GTalk in Google also runs on XMPP, as does Facebook chat.
But let's backtrack a little. Firstly what's so good about Jabber? Well Jabber is just like email. There is no "central" server. Instead a whole raft of servers across the internet provide Jabber services and they in turn contact other servers and "federate" that is one server talks to another. This is just the same as email. It's helped by the form of Jabber addresses: user@example.com is recognisable as a fully routable email address. It's also a complete Jabber address. You can message me for instance at criticalalpha at gmail dot com . So we remove all the complexity about needing to know what server somebody is on and, through the magic of something called transports, what legacy messaging system they might be on.
Next is a really nice feature: presence. If you are in my roster (the XMPP name for my buddy list) then Jabber tells me when you are online and when you aren't. It makes it simple to determine whether you are available for a chat or not.
The most basic service on a Jabber server is text chat. Depending on the server and the client you use however you can also use voice chat, video, screen sharing, multi-user whiteboard, file transfer, Multi-User Chat (MUC) and lots more. Jabber also provides store and forward treatment of text messages when the other party is offline. When they come online the message is delivered.
What's all this got to do with SMS? Well we seem to be addicted to SMS. But every time I send an SMS I'm chewing up either a fee per message - $0.25 or so, or an allowance of text messages. In addition I have no presence information for the other user and no information usually about whether the message has been delivered. With Jabber on the other hand, I know whether the user is online. I get error reporting if the message is not delivered and it costs me peanuts - the cost of a few bytes of my data allowance. In addition I can be logged into my Jabber account from a variety of places at the same time - my computer, my phone, the web...it means that in effect I'm ubiquitously available if I wish to be. XMPP is also completely cross-platform, it's not proprietary so you can send messages from one platform and receive on another...just like email. Since using XMPP my SMS usage has fallen very sharply, it's now perhaps 15% of what it used to be. Using iChat voice calls are clearer and more reliable that Skype...
So what do you need to get started on XMPP/Jabber?

  1. A Jabber account. If you have your own Jabber server that's easy. If not a GMail account will also give you a GTalk account at the same address. Alternatively there are lots of free servers around, try here for a start: http://xmpp.org/resources/public-services/ .
  2. A client on your laptop or home computer. If you are a Mac user that's easy, iChat comes with the Mac and supports MUC, screen sharing, file transfer, video and voice as well as text chat. If you are on Windows try googling Adium, Spark or Psi+ for starters. Here's a list of over 90 clients: http://xmpp.org/xmpp-software/clients/ (both computer and mobile).
  3. A client for your smartphone. Beejive is a multi platform client. It's not cheap but it supports push and staying live for up to 7 days on the iPhone as well as connection to GTalk, Facebook, Yahoo messaging, MSN, AIM and MySpace. You could also try imo, OneTeam or Jabba on the iPhone. Some of those are also cross platform, working on Android, Blackberry etc.
  4. Some buddies...
It pains me to see telcos earning massive profits on their SMS traffic when the cost is fractions of a cent per message. Take advantage of the enhanced capability of XMPP/Jabber and the lower cost and get on board today.

The mire we find ourselves in

It's been a tumultuous couple of weeks, and at the end I'm left with a peculiar quandary. There is no longer any party in Australian politics that comes close to representing my views. I saw on a young bloke's FaceBook page, under the heading "Politics" a simple statement: "Politicians are wankers". Based on the behaviour in Canberra and Spring Street, not to mention Macquarie Street, I can only agree.
For months now it's been hard to determine which is the right wing of the Liberal Party and which is our Labor Prime Minister. This situation is most apparent in the case of policy for asylum seekers. Gillard has lurched ever further from a social justice position to a position of pointless rhetoric about some "business model" which she ascribes to "people smugglers". On the way, asylum seekers are used as chess pieces in some game that, apparently, is designed to "break the people smugglers' business model".
Abbott and Gillard have painted themselves into corners which are so close that they are able to put their arms around each other if they wish. And lo, as the High Court decision on Malaysia was released, we saw Abbott and Gillard attempt to do just that.
The bit that both have missed is that, on the subject of asylum seekers, the public have moved on. A majority of Australians in recent polls have supported on-shore processing of asylum seekers. Yet both Gillard and Abbott continue to rant and rave about the necessity for "offshore" processing.
So let's get down to the facts:

  1. In response to a challenge about Gillard's proposal to send asylum seekers to Malaysia, the High Court ruled that Chris Bowen, as Minister, had acted beyond his powers in declaring Malaysia and could not send asylum seekers there;
  2. The key issue was that the immigration act, the Court held, had various protections in it. The Court held that these protections arose in the act out of an intention to enact Australia's obligations under the Refugee Convention and other related instruments. The Court was not prepared to accept that these protections were available in Malaysia and therefore the Minister acted beyond his powers in determining that they were;
  3. The High Court further made it clear that other countries might represent the same problems for Australia as Malaysia had, due to the same provisions;
  4. Gillard, after some prevarication, looks likely to partner with Abbott to seek to change the law to enable her to continue off-shore processing of asylum seekers;
  5. On the way to doing that Gillard arranged a Departmental briefing for Abbott. That briefing, we are told by the press, sank to the depths of xenophobia and scaremongering.
Here's the problem for me in changing the law: My reading of the High Court judgement leads me to think that there are perhaps two things that Gillard could do to make it possible to send asylum seekers off-shore for processing. Either she could substantially water down Australia's obligations to treat asylum seekers in accordance with our various international obligations (such as the Refugee Convention); or she could somehow put the decision making process beyond the reach of judicial review. You'd need to be a decent lawyer to determine whether the latter path is possible.
Leaving aside what I think should happen to asylum seekers (more of that in a moment), either of those courses of action are a total anathema to me. How could we water down our obligations to treat asylum seekers with a basic set of protections? When is it ever acceptable to place politicians' decisions beyond review of the courts? There may be other mechanisms open to Gillard in changing the act but you'd have to be smarter than me to see them.
What is most disappointing to a natural left voter is that Gillard has not only wilfully failed to take this opportunity to extricate herself from a dreadful political bind over asylum seekers, but she has lurched further into the bind. She wants to be there, she wants to be cheek by jowl with the worst of the Liberal Party and she wants to treat asylum seekers in a totally unacceptable and inhumane way.
Let's be clear about this. At the heart of the High Court's decision was a view that the Minister could not find that Malaysia had appropriate protections for the basic rights of asylum seekers under the appropriate international instruments. This isn't sophistry, or lawyers playing with words. It's about basic protection of asylum seekers' rights. Gillard meanwhile has clearly shown that she doesn't give a fig for those rights, not a fig.
Gillard was offered a "get out of jail" card by the High Court. She could have dumped her old rhetoric "the Court won't let us do what we think is right, so now we have to process on-shore" or whatever face-saving spin she wanted to put on it. She could have freed herself from her lock-step with the Libs and in the process begun to live up to our obligations. She has proved either too stupid to see the opportunity or too set in her firm belief about the rightness of her path. Either way, this week has seen an extraordinary phenomenon in my small circle. Life-long left voters vowing that the Labor Party will never again get their vote.
I've previously written about what I think about the political rhetoric around asylum seekers and people smugglers. Please go and read it. Suffice to say that the "pull" theory expounded by our politicians of all colours is simply bollocks. The people smugglers will only go away when peace descends on countries of origin and people no longer feel their only option is to flee.
Australia's politicians are demonstrating that we are a mean, selfish and uncaring country. We are not prepared to live up to our humanitarian obligations. The one ray of hope is that it appears that the Australian population are beginning to abandon their politicians, beginning to look like they support the right thing - on-shore processing, indeed in my view community processing.
Now to my dilemma. finding yourself politically homeless never happens overnight. Rather a slow build up reaches breaking point. This is the breaking point for me and many others I know. We are left in a disturbing situation of there being no natural party of the left. On Twitter, @sunili made the point that if we wanted a Liberal PM we wouldn't vote for Gillard so she should stop acting like a Liberal (my paraphrase). That's exactly right. The problem is that we want a real party of the left. A party that is about social justice, real protection for workers, a society that is both productive and supportive of those who can't produce, a society that cares for its planet, a society where the wealth of the country, particularly the mineral wealth, is used wisely and for the common good. We have NO party in this country that now fulfils that place in anything but rhetoric.
I am, as yet, entirely unconvinced that the Greens can live up to that broader agenda.
My great hope for the coming weeks is that the left of the Labor Party, the Independents, the Greens and those few real liberals left in the Liberal Party might band together to stop the passing of any changes that would again open the way to off-shore processing.
That may do something for asylum seekers, I hope so. It won't do anything for Australian voters like me, left in the cold on the left.

Saturday, July 16, 2011

A burnt offering: Carbon Pricing doesn't have to be like this

Australian politics has done something over the last couple of weeks that I had thought impossible: it's taken a turn for the worse!
Before we get down to the specifics of that malaise, let's just look at the environment. The US is critically close to a situation where it won't be able to meet its obligations. That's an amazing and frightening situation. Unless Obama reaches agreement with the Republicans to increase the debt ceiling and unless he does it in the next few days we are faced with the very real spectre that the lurching situation in the US could get a lot worse. Ben Bernanke, Chairman of the Fed, took the most unusual step of warning Congress that if they didn't act then the resulting default would be catastrophic. I find it amazing that he even felt it necessary to state the bleeding obvious to Congress. Make no mistake that if the US enters a crisis of default then we, along with the rest of the world will catch a mighty chill.
Meanwhile in Europe, one economy after another finds itself in strife, Ireland, Greece, Italy, Spain, Portugal, with the UK not much better. A default in any of those economies will set off ripples that will be uncontrollable and unpredictable.
So back home to our hopeless government. Throughout the Howard years, with the dubious exception of the GST, the march of economic reform ceased. Howard fooled around at the edges, Reith ran little hate campaigns on the docks but little changed and the regressive and draconian Work Choices has been rightfully wound back. So the momentum of the Hawke/Keating years was lost.
Rudd made no headway and thence to Gillard. She has had 3 opportunities for major reform, each dragged through the Rudd period and each a failure. The Henry review gave her and Swan an ideal opportunity to really make some much needed changes to a complex, unwieldy and counterproductive tax system. Score on that to date? A dismal failure.
Next, and as a subset of the Henry review a more effective way of sharing the wealth from mining with the broader community - the so called mining super profits tax. Well there's the first mistake, why choose an emotive title like that? We're merrily mining Australia into becoming a great big, bankrupt, hole in the ground. Miners' shareholders are getting rich, countries receiving our mineral wealth are getting rich, but an insufficient share of that wealth is being invested in the future of Australia. What was required was a simple, broad based tax that equitably shared the spoils of mining between the miners and the owners of the resource - the Australian people. The outcome was an example of how to completely fuck up a reasonably minor piece of economic reform. An example of how to become hostage to a bunch of loud-mouthed doomsayers - the miners. What we are therefore getting is a narrow and insufficient tax and a failed opportunity for the future of Australia.
Finally we come to the carbon tax - again wrong with the name. We now have a repeat performance, an imperfect tax, a failed sales effort and a deeply sceptical and divided community. Australia has a unique opportunity to be ahead of the curve on this. The world, whether it likes it or not, will have to come to terms with these reforms, and more quickly than it expects. To be early on this curve, to get the structural changes through our economy before others, will leave us in a highly competitive position. Instead we have a tax that is insufficiently broad, and too gradual and because of that it will have insufficient impact on the economy, will drive insufficient change. We need this carbon pricing arrangement for two reasons: firstly we don't want to have to deal with the real costs of global warming when they reach catastrophe point and secondly we would prefer to lead the world than to follow in a way, not of our own choosing.
Gillard and Swan have failed completely to sell this much needed reform. Meanwhile Abbott is a national disgrace. He roams the country stirring up fear uncertainty and doubt, all for only one reason: his own perceived political advantage. He is creating deep social division, all for nothing. What Abbott must realise, and what Australia must hold him to account for is that his behaviour is having a very, very serious effect on confidence - consumer and business confidence. It doesn't need to be like that, the carbon price is a good thing, it's insufficient but nevertheless it's a good thing. It will have only a minor impact on the economy. Abbott and business need to stop whinging and start being the market driven capitalists they claim to be. This carbon price will give gentle and long term market signals and we need to get on and respond to those signals in a timely and effective way.
It's about time that Australians started to judge Abbott for what he is: a wrecker. When you feel economic pain over the next few months, as the Australian economy worsens - as it will on the back of failed confidence - remember that Abbott had a hand in destroying consumer and business confidence with his senseless and inane yelling about this sensible reform.
We are entitled to better than the current mob we have on both sides of parliament. The only man or woman who impresses me is Tony Windsor. We'll have lots more of him please.

Saturday, June 25, 2011

One small step for Australia...

Listening to the discussion around Go Back on SBS this week has given me some heart that we might have moved a fraction of an inch from a hate and fear filled rhetoric towards a clearer view of asylum seekers as people who are in difficult situations and worthy of our support.
The difficulty is the entrenched political positions in Australia. But even there I see an avenue for major change. The change could come with one, small, step. This small step would in one fell swoop drastically lower the cost of asylum seekers to Australia, puncture completely the hate-filled rhetoric, radically improve the lives of asylum seekers and turn this from a major political issue to what it is in truth: Australia's miniature contribution to helping those displaced in an unsettled world.
The one small step is simple: move to a community-based processing system now.
Asylum seekers would simply be held for a duration not exceeding one month whilst they were identified and a security assessment was undertaken. They would then be released into the community with access to Medicare, to education and to transitional support from Centrelink. They would have a right to work and would reside in the community whilst their claim was decided. Those who did not pass initial processing steps would continue to be held in detention centres.
Those asylum seekers released into the community would be free to stay there whilst their claims were assessed and whilst they continued to meet minimal criteria around location and compliance with Australian law. If they were assessed as refugees they would remain in the community whilst waiting permanent residence in Australia or resettlement to a third country.
Whilst we would need to support asylum seekers in the community it would be much cheaper and more humane than the current situation. It would also allow them to receive community support from volunteer organisations and existing compatriot groups whilst waiting.
The only other thing I would ask is for Australia to increase its total refugee intake to something which approaches a recognition of our wealth and resources. A level certainly above what we accept now.
I note that Malcolm Fraser, in a speech last night in Adelaide, also made this point and another point I have previously written about: make ASIO accountable and make it perform in terms of security vetting.
I believe that we should focus our efforts, those of us who are appalled by the current situation, by simply seeking this one vital change. It would be good for us as Australians, good for asylum seekers and good for the Government. Why would it be good for the Government? It would be a positive change to the budget and it would allow the Government of the day to move on and deal with real issues instead of endlessly playing political ping pong.
I think we are increasingly ready for this change as a community.

Sunday, June 12, 2011

The grass is Greener!

An important milestone is coming soon. From July, the Greens will hold the balance of power in the Senate. In addition Adam Bandt is one of the numbers keeping Julia Gillard in power. This makes for interesting times for the Greens and interesting times for Australia.
Before I go any further I want to make one thing clear: I am NOT advocating for intemperate behaviour on the part of the Greens that would lead to continuing instability in the Reps. I think that would be bad for Australia.
Having said that, this is crunch time for the Greens. My premise is that Australian voters did two things, deliberately in 2010. They refused to place their trust in either major party; and they substantially increased their support of the Greens. I'm a great believer that nothing happens without a reason. I believe that the Australian electorate has given a mandate to the Greens - a mandate to show some real leadership in Australia. Whether the Greens choose to accept that mandate will determine the future of their support.
We reposed similar trust in the Democrats once. We believed their "Keeping the Bastards Honest" line and we gave them enough votes in the Senate to deliver on their promise. What did they do? They supported an unpopular GST, they negotiated with the Devil and delivered for the Devil. The electorate never forgave them and we can see the inevitable outcome now.
The same holds true for the Greens. We've given them our votes as a mediating force, as an opportunity for them to show real leadership. We haven't seen such leadership in this country since Paul Keating and Bill Deane - each in their own way - showed us leadership on things that were "right" but unpopular. They convinced us that we needed to accept and support things that were initially unpopular.
Federal politics is currently a moral vacuum. When I use the word "moral", I'm not using it in some trumped up Judaeo-Christian sense. I'm using it in a lower case, low key statement of our obligations, as humans, to ourselves and others. Neither Gillard nor Abbott are offering anything to the population in terms of moral leadership. Instead they have their stethoscopes firmly pressed to the opinion polls seeking for any advantage in their race against each other to the bottom of the cess pit. We are mired in the tip-toe politics of pragmatism and political advantage. Self interest is the order of the day along with short term political gain.
Meanwhile the train wreck that is increasingly Australian society continues.
Most concerning is the use of the politics of fear. In 1788 the First Fleet arrived here, sent from England and full of convicts. Transportation was driven by the disparity between the haves and have nots of English society and the fear, on the part of the haves, that the have nots would somehow hurt or harm them. The response on the part of the haves was a draconian legal regime and the transportation of even minor transgressors to the ends of the earth.
Unfortunate parallels are apparent in our society today. We hear this ongoing whining that society is not safe, tougher laws are needed, more jails...; we hear mining bosses forecasting the end of the world as we know it if tax rises by even a cent; ditto for a carbon tax or any attempt to curb and change our profligate use of hydrocarbon resources; refugees are vilified and cast as the devil incarnate. What is worse these fears are fanned and encouraged by the baying of the politicians from both sides of politics, seeking to harness fear for their own political advantage.
When was the last time a politician stood up and said things like: "Refugees pose no threat to this country and we should welcome them"; or "The community is safer than its ever been, more punitive laws do not contribute to community safety and we're not going to play that game"; or "A sensible mining royalty regime is critical to the future prosperity of this country, the miners are not contributing sufficiently and unless we change that we'll end up as a bankrupt hole in the ground".
On and on it goes. NOBODY at a State or Federal political level is providing leadership, nobody is seeking to help the populace understand real, complex issues. Instead we see politicians of all flavours chasing each other to the bottom.
Do we have the politicians we deserve? Are we increasingly a population of gutless, craven losers, focused only on small-minded self interest? Well the evidence on both counts suggests to me that the answer is yes.
However we are susceptible to listening to our leaders when they have something meaningful to say to us, and we did vote for the Greens and the independents in increasing numbers. That gives me hope.
So here's the challenge for the Greens and it's a tough one! I predict that if the Greens cannot find the skills and the backbone to step right up to the plate and provide vocal, moral leadership to this country, then we will treat them the same as we have treated the Democrats - as a waste of electoral resources. We have lots invested in the major parties, we're not prepared to trash either of them because we sense a need for the necessary electoral tension between them. Our "bet each way" always comes with the minor parties and we are quick to judge the success of our flutter and move on if it isn't working. That means that when we entrust our faith in a group like the Greens the stakes are very high for them. Their demise will take time, if it happens, because of the duration of Senators, but it will be inevitable if they don't step up.
If on the other hand, they step into the massive vacuum in public life in this country. If they start to show real leadership across a range of issues...then they may just have a future.
I hope they do, I really hope they do.

Saturday, June 4, 2011

An open letter to Bob Brown

G'day Bob,
I decided it was time to write to you, because the country is pretty fucked and we need you to act.
At the last election an interesting thing happened. The collective mind of Australia created a hung parliament. We also gave the Greens a bigger vote than we ever have before. In my electorate we elected the first lower house Green in Federal Parliament.
We did all that for a reason. It wasn't a mistake, it wasn't chance: it was Australia's collective consciousness saying we trusted neither Abbott nor Gillard with the reins of the place.
Well we've been proved right. The two of them are chasing each other to the bottom, playing up the fears of the populace and competing to be the most effective dog whistler.
Meanwhile in Victoria Ted Baillieu and the central committee of the Victorian Liberal Party have embarked on their 5 year plan - commonly known as the Great Leap Backwards. Swearing is now a focus for police action (simply another avenue for police harassment of the poor, the young, the homeless and the Aboriginal people); the anti discrimination legislation has seen changes rammed through to allow religious groups to discriminate on the basis of sexuality, gender, marital status...mandatory sentencing has reared its ugly head, new prisons are on the agenda... You get the picture - a race to the bottom, playing on fear and forgetting 50 years of progress as an aware and tolerant society. Greg Barber where are you?
But back to the important subject of Federal Parliament and asylum seekers. Abbott and Gillard and competing to be "toughest" on asylum seekers. Gillard's "Malaysian Solution" even has the Liberals calling foul. As it should. I'm repeating myself, but nevertheless: asylum seekers and refugees are good for this country, arriving by boat is a plus not a minus. Somebody needs to show some leadership here and the only person left standing Bob, is you!
The populace doesn't need to be told that they need to fear these people. Somebody in public office needs to stand up and take a moral stance on asylum seekers. Somebody needs to do the thing that people in public office haven't done since Bill Deane and Paul Keating took leadership stances on what is good for Australia and what is good for humanity.
Nobody is doing that at the moment. Every political figure is...playing politics, playing the polls.
Well Bob, I'm looking at you. Here's your opportunity. It's what we put you and Adam Bandt and the rest of your team there to do. At the moment all we get are minor noises from Sarah Hanson-Young.
Do not mistake this: the reason the Green vote improved so much this time is because we didn't trust Gillard and Abbott and we were right not to. When we need you however we find you wanting. No vocal leadership, no moral leadership. Instead a committee of inquiry. We don't need a committee! We need you and your team to stand up and call the shots.
The refugee policies of Abbott and Gillard are unacceptable, contrary to the best interests of ALL Australians and inhumane.
You've got a choice: do something pretty effective about it or face annihilation at the next election. This is the reason your team were trusted with our vote. At the moment it doesn't look like you are living up to our trust in you. Do you intend to change that?

Saturday, May 28, 2011

Immigration Detention

Yesterday, I had the most depressing interchange, on Twitter, with a fellow called @StreetSmarts111 . His profile called out his conservative political bent. The reason the interchange was so depressing, and indeed the reason I ultimately blocked him, was that there appeared no intent on his part to engage in an exploration. This Tweeter simply wanted to pound a mandatory detention path.
What frustrates me also is that 140 characters is only the first intake of breath on a subject like this. So here goes.
Firstly about Tony Abbott and Julia Gillard. Reprehensible is the only word that works for me when I think about their refugee policies. They and the parties they lead continue to chase each other to the bottom of a very unpleasant slope. They are both playing to first world paranoia. They are seeking to garner even a few voters by playing to anxieties and misapprehensions amongst the population. They are doing this by causing irreparable damage to the lives of asylum seekers and, increasingly, damage to Australia's international reputation.
@StreetSmarts111 stubbornly equated mandatory detention with the need to "process" people. Let's just unpick that. Australia engages in mandatory, indeterminate, arbitrary detention of asylum seekers arriving by sea.
  • Mandatory - you come in by sea, you must be detained;
  • Arbitrary - the mandatory nature of detention means that, no matter who you are and what your risk, origin or claim you are nevertheless detained;
  • Indeterminate - it is impossible to say how long you will be detained for.
Now @StreetSmarts111 argues that all that is necessary in order that we be able to "process" what he chooses to call "illegal immigrants". Firstly let's put the illegal to bed. It's anyones' right to seek asylum in another country. That other country has the right to determine their view of the veracity of that claim. These people are not "illegal immigrants" they are asylum seekers.
So let's look at processing. What does Australia need to do in this regard? I'd argue that the necessary components of a processing system are:
  • It focuses firstly and quickly on simple things like "who are you?", "where did you come from?" and "who came with you?". That check is done daily at our airports to thousands if not hundreds of thousands of people. Not all of them have pre-issued visas. That system does not lack integrity suggesting that such immediate information should be accessible, even for quite large boatloads in 24-48 hours. That information also allows the commencement of security checking (more on that later);
  • Health checks. We would reasonably want to know whether arrivals were suffering from a communicable disease. We would also want to know, for the sake of the arrival, whether they were suffering from medical conditions requiring treatment;
  • The next step is to determine the nature of the claim that each person is making for asylum. This is a longer step, but in fact does not require continued detention for its conduct. By now we should be in a position to know who each arrival is and to have made an accurate assessment about whether they pose a security risk, or whether there is a high level of uncertainty about their identity, or the risk they pose. In default of such risks they are ready to be released from detention. That is not to say that they have a place in Australia as a refugee, it is not to say that they are in fact a refugee. It's simply to say that we have adopted a risk-management approach and formed a view that they can be released into the community pending a decision on their status and whether they will be granted Australian residency.
Such an approach would leave the vast majority of arrivals in our community within a month or so. Some small proportion would be detained on the basis of their risk and perhaps even removed to their country of origin (after the exhaustion of their avenues of appeal under Australian law).
So what are the risks to Australia from such an approach, rather than mandatory detention? There are none. You are more likely to be run over by a car on your way to work than harmed in any way by one of these arrivals with such a sensible managed, streamlined processing system in place. There is no physical risk beyond that which already exists through homegrown extremists, organised crime and bikie gangs - none of which have anything to do with people arriving by boat. There is no economic risk. These people in the main are hard workers, delighted to be in a place of opportunity. They contribute to economic growth which we all benefit from. They do not steal jobs from "Australians".
But there are a couple of issues. Firstly the government needs to deal with both the legislation and the performance of ASIO with respect to security vetting. As I understand it, if you receive a negative security vetting you cannot find out why and on what it is based. You simply have a negative vetting. Why is that acceptable in a democratic country? Where is ASIO's accountability to parliament, the courts and the populace? How do we know what standards are being applied by ASIO? How can we know whether their standards are hopelessly laissez-faire, entirely appropriate to the needs of modern Australia or based on utter, unfounded paranoia? We can't under the legislation and the recipient of a negative vetting is unable therefore to effectively challenge it. The legislation needs to be changed to allow proper scrutiny and review of decisions.
Equally as important, the process of security vetting needs to take place at a brisk clip, not the current inefficient, glacial pace. If it's a matter of resources then the government needs to act. If it's a matter of priorities then the government needs to set ASIO straight about what's required. In any event the current pace and framework seems unacceptable.
So what would be the benefits of ending mandatory detention and briskly processing arrivals?
  • The massive cost of mandatory detention - the financial cost - would end;
  • The irreparable human damage caused by indeterminate and arbitrary detention would be greatly reduced, perhaps eliminated;
  • Australia would begin to benefit rapidly from the contribution of these people to our society and to our economy. Yes there's a cost - people need access to support and to healthcare and education - but that cost is minuscule compared to the costs of mandatory detention and it is a cost that accrues for every member of society.
  • Australia's international reputation would cease taking the battering it is now.
  • The politicians could focus on matters of real national importance such as overhaul of the health system, implementation of an appropriate carbon strategy and ensuring the country enjoys long term benefit from the "minerals boom" rather than ending up as a bankrupt hole in the ground.
Let's not either begin imagining a mass exodus from countries around the world, all attracted to Australia by these new arrangements. That's simply a paranoid fantasy. Asylum seekers are "pushed" to leave the place they know by circumstances we can barely imagine. They are not "pulled" from the comfort of their homes by some vision of an Australian nirvana.
Asylum seekers make up such a small proportion of the immigrants coming to this country each year, that even a doubling of the numbers would have an almost negligible effect...except for the massive burden that we have imposed on ourselves by our mandatory detention policy.
There is only one thing that is needed in order for this situation to change: some sensible, ethical and moral leadership from our politicians. Our politicians need to start informing the population, they should lead the change in thinking about this situation. Instead they resort to the politics of fear, they dog whistle to those who fear everything including their own shadow.
All we need is a clear political message that asylum seekers are a positive and welcomed part of Australian life for this whole issue to vanish.
That won't unfortunately happen whilst we have the current morally bankrupt political leadership that we have - on both sides of parliament. I'd rather spend a day with any of the refugees that I know than be caught in the same room as our current political "leaders".