<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ourobengr</title>
	<atom:link href="http://ourobengr.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ourobengr.com</link>
	<description>An engineer eating his own tail</description>
	<lastBuildDate>Tue, 07 May 2013 15:17:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Telework, Telework and the NBN</title>
		<link>http://ourobengr.com/2013/05/telework-telework-and-the-nbn/</link>
		<comments>http://ourobengr.com/2013/05/telework-telework-and-the-nbn/#comments</comments>
		<pubDate>Tue, 07 May 2013 15:17:55 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[auspol]]></category>
		<category><![CDATA[nbn]]></category>
		<category><![CDATA[telework]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=495</guid>
		<description><![CDATA[A few related (or semi-related) bits and pieces which turned up over the last month or so. The first is a video I was sent from onlinemba.com, entitled Telecommuting is Good for You and Good for Business. It cites a few &#8230; <a href="http://ourobengr.com/2013/05/telework-telework-and-the-nbn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A few related (or semi-related) bits and pieces which turned up over the last month or so. The first is a video I was sent from <a href="http://www.onlinemba.com/">onlinemba.com</a>, entitled <a href="http://www.onlinemba.com/blog/telecommuting-good-for-you-and-business">Telecommuting is Good for You and Good for Business</a>. It cites a few studies showing greater productivity, reduced turnover and eco-friendliness (which I would tend to agree with based on personal experience). Unfortunately I can&#8217;t seem to see links to the studies themselves, but you should go watch it anyway, because it&#8217;s one of those cute &#8220;live animated&#8221; things, which I&#8217;m a sucker for.</p>
<p>That leads neatly to the second thing, which is from the <a href="http://blog.iinet.net.au">iiNet blog</a>, entitled <a href="http://blog.iinet.net.au/benefits-working-home/">The benefits of working from home</a>. As with the above video, Yahoo gets a prominent mention for not allowing telework (although reports on that seem to be <a href="http://mashable.com/2013/03/06/yahoo-work-from-home-ban/">somewhat mixed</a>). Anyway, benefits cited include lack of commute, lower overhead and fewer distractions, but the blog post does also make the very good point that you need to figure out whether or not telework is actually right for you. It also offers some tips I tend to agree with.</p>
<p>Now we get to the semi-related bit. Assuming telework <em>is</em> right for you, you want a good internet connection. As I&#8217;ve said before, &#8220;<a title="How to Stay Sane and Productive While Hacking FOSS on a Farm" href="/2012/12/how-to-stay-sane-and-productive-while-hacking-foss-on-a-farm/">Yay NBN! Bring it on!</a>&#8220;. As much disenchantment as I have with the major parties, this is something Labor is actually doing right. For an easy-to-appreciate comparison of what Labor and the LNP are proposing, check out <a href="http://howfastisthenbn.com.au/">How Fast is the NBN</a>. Teleworkers, pay particular attention to the simulated Dropbox sync.</p>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2013/05/telework-telework-and-the-nbn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>One More chef-client Run</title>
		<link>http://ourobengr.com/2013/04/one-more-chef-client-run/</link>
		<comments>http://ourobengr.com/2013/04/one-more-chef-client-run/#comments</comments>
		<pubDate>Mon, 15 Apr 2013 07:10:52 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ceph]]></category>
		<category><![CDATA[chef]]></category>
		<category><![CDATA[hackweek]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=486</guid>
		<description><![CDATA[Carrying on from my last post, the failed chef-client run came down to the init script in ceph 0.56 not yet knowing how to iterate /var/lib/ceph/{mon,osd,mds} and automatically start the appropriate daemons. This functionality seems to have been introduced in &#8230; <a href="http://ourobengr.com/2013/04/one-more-chef-client-run/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Carrying on from my <a title="The Ceph Chef Experiment" href="/2013/04/the-ceph-chef-experiment/">last post</a>, the failed chef-client run came down to the init script in ceph 0.56 not yet knowing how to iterate <code>/var/lib/ceph/{mon,osd,mds}</code> and automatically start the appropriate daemons. This functionality seems to have been introduced in 0.58 or so by <a href="https://github.com/ceph/ceph/commit/c8f528a4070dd3aa0b25c435c6234032aee39b21">commit c8f528a</a>. So I gave it another shot with a build of ceph 0.60.</p>
<p>On each of my ceph nodes, a bit of upgrading and cleanup. Note the choice of ceph 0.60 was mostly arbitrary, I just wanted the latest thing I could find an RPM for in a hurry. Also some of the <code>rm</code> invocations won&#8217;t be necessary, depending on what state things are actually in:</p>
<pre># zypper ar -f http://download.opensuse.org/repositories/home:/dalgaaf:/ceph:/extra/openSUSE_12.3/home:dalgaaf:ceph:extra.repo
# zypper ar -f http://gitbuilder.ceph.com/ceph-rpm-opensuse12-x86_64-basic/ref/next/x86_64/ ceph.com-next_openSUSE_12_x86_64
# zypper in ceph-0.60
# kill $(pidof ceph-mon)
# rm /etc/ceph/*
# rm /var/run/ceph/*
# rm -r /var/lib/ceph/*/*</pre>
<p>That last gets rid of any half-created mon directories.</p>
<p>I also edited the Ceph environment to only have one mon (one of my colleagues rightly pointed out that you need an odd number of mons, and I had declared two previously, for no good reason). That&#8217;s <code>knife environment edit Ceph</code> on my desktop, and set <code>"mon_initial_members": "ceph-0"</code> instead of <code>"ceph-0,ceph-1"</code>.</p>
<p>I also had to edit each of the nodes, to add an osd_devices array to each node, and remove the mon role from ceph-1. That&#8217;s <code>knife node edit ceph-0.example.com</code> then insert:</p>
<pre>  "normal": {
    ...
    "ceph": {
      "osd_devices": [  ]
    }
  ...</pre>
<p>Without the osd_devices array defined, the osd recipe fails (&#8220;undefined method `each_with_index&#8217; for nil:NilClass&#8221;). I was kind of hoping an empty osd_devices array would allow ceph to use the root partition. No such luck, the cookbook really does expect you to be doing a sensible deployment with actual separate devices for your OSDs. Oh, well. I&#8217;ll try that another time. For now at least I&#8217;ve demonstrated that ceph-0.60 does give you what appears to be a clean mon setup when using the <a href="https://github.com/ceph/ceph-cookbooks">upstream cookbooks</a> on openSUSE 12.3:</p>
<pre>knife ssh name:ceph-0.example.com -x root chef-client
[2013-04-15T06:32:13+00:00] INFO: *** Chef 10.24.0 ***
[2013-04-15T06:32:13+00:00] INFO: Run List is [role[ceph-mon], role[ceph-osd], role[ceph-mds]]
[2013-04-15T06:32:13+00:00] INFO: Run List expands to [ceph::mon, ceph::osd, ceph::mds]
[2013-04-15T06:32:13+00:00] INFO: HTTP Request Returned 404 Not Found: No routes match the request: /reports/nodes/ceph-0.example.com/runs
[2013-04-15T06:32:13+00:00] INFO: Starting Chef Run for ceph-0.example.com
[2013-04-15T06:32:13+00:00] INFO: Running start handlers
[2013-04-15T06:32:13+00:00] INFO: Start handlers complete.
[2013-04-15T06:32:13+00:00] INFO: Loading cookbooks [apache2, apt, ceph]
[2013-04-15T06:32:13+00:00] INFO: Processing template[/etc/ceph/ceph.conf] action create (ceph::conf line 6)
[2013-04-15T06:32:13+00:00] INFO: template[/etc/ceph/ceph.conf] updated content
[2013-04-15T06:32:13+00:00] INFO: template[/etc/ceph/ceph.conf] mode changed to 644
[2013-04-15T06:32:13+00:00] INFO: Processing service[ceph_mon] action nothing (ceph::mon line 23)
[2013-04-15T06:32:13+00:00] INFO: Processing execute[ceph-mon mkfs] action run (ceph::mon line 40)
creating /var/lib/ceph/tmp/ceph-ceph-0.mon.keyring
added entity mon. auth auth(auid = 18446744073709551615 key=AQC8umZRaDlKKBAAqD8li3u2JObepmzFzDPM3g== with 0 caps)
ceph-mon: mon.noname-a 192.168.4.118:6789/0 is local, renaming to mon.ceph-0
ceph-mon: set fsid to f80aba97-26c5-4aa3-971e-09c5a3afa32f
ceph-mon: created monfs at /var/lib/ceph/mon/ceph-ceph-0 for mon.ceph-0
[2013-04-15T06:32:14+00:00] INFO: execute[ceph-mon mkfs] ran successfully
[2013-04-15T06:32:14+00:00] INFO: execute[ceph-mon mkfs] sending start action to service[ceph_mon] (immediate)
[2013-04-15T06:32:14+00:00] INFO: Processing service[ceph_mon] action start (ceph::mon line 23)
[2013-04-15T06:32:15+00:00] INFO: service[ceph_mon] started
[2013-04-15T06:32:15+00:00] INFO: Processing ruby_block[tell ceph-mon about its peers] action create (ceph::mon line 64)
mon already active; ignoring bootstrap hint

[2013-04-15T06:32:16+00:00] INFO: ruby_block[tell ceph-mon about its peers] called
[2013-04-15T06:32:16+00:00] INFO: Processing ruby_block[get osd-bootstrap keyring] action create (ceph::mon line 79)
2013-04-15 06:32:16.872040 7fca8e297780 -1 monclient(hunting): authenticate NOTE: no keyring found; disabled cephx authentication
2013-04-15 06:32:16.872042 7fca8e297780 -1 unable to authenticate as client.admin
2013-04-15 06:32:16.872400 7fca8e297780 -1 ceph_tool_common_init failed.
[2013-04-15T06:32:18+00:00] INFO: ruby_block[get osd-bootstrap keyring] called
[2013-04-15T06:32:18+00:00] INFO: Processing package[gdisk] action upgrade (ceph::osd line 37)
[2013-04-15T06:32:27+00:00] INFO: package[gdisk] upgraded from uninstalled to
[2013-04-15T06:32:27+00:00] INFO: Processing service[ceph_osd] action nothing (ceph::osd line 48)
[2013-04-15T06:32:27+00:00] INFO: Processing directory[/var/lib/ceph/bootstrap-osd] action create (ceph::osd line 67)
[2013-04-15T06:32:27+00:00] INFO: Processing file[/var/lib/ceph/bootstrap-osd/ceph.keyring.raw] action create (ceph::osd line 76)
[2013-04-15T06:32:27+00:00] INFO: entered create
[2013-04-15T06:32:27+00:00] INFO: file[/var/lib/ceph/bootstrap-osd/ceph.keyring.raw] owner changed to 0m
[2013-04-15T06:32:27+00:00] INFO: file[/var/lib/ceph/bootstrap-osd/ceph.keyring.raw] group changed to 0
[2013-04-15T06:32:27+00:00] INFO: file[/var/lib/ceph/bootstrap-osd/ceph.keyring.raw] mode changed to 440
[2013-04-15T06:32:27+00:00] INFO: file[/var/lib/ceph/bootstrap-osd/ceph.keyring.raw] created file /var/lib/ceph/bootstrap-osd/ceph.keyring.raw
[2013-04-15T06:32:27+00:00] INFO: Processing execute[format as keyring] action run (ceph::osd line 83)
creating /var/lib/ceph/bootstrap-osd/ceph.keyring
added entity client.bootstrap-osd auth auth(auid = 18446744073709551615 key=AQAOl2tR0M4bMRAAatSlUh2KP9hGBBAP6u5AUA== with 0 caps)
[2013-04-15T06:32:27+00:00] INFO: execute[format as keyring] ran successfully
[2013-04-15T06:32:28+00:00] INFO: Chef Run complete in 14.479108446 seconds
[2013-04-15T06:32:28+00:00] INFO: Running report handlers
[2013-04-15T06:32:28+00:00] INFO: Report handlers complete</pre>
<p>Witness:</p>
<pre>ceph-0:~ # rcceph status
=== mon.ceph-0 ===
mon.ceph-0: running {"version":"0.60-468-g98de67d"}</pre>
<p>On the note of building an <a title="Hackweek 9: Ceph Appliance Odyssey" href="/2013/04/hackweek-9-ceph-appliance-odyssey/">easy-to-deploy Ceph appliance</a>, assuming you&#8217;re not using Chef and just want something to play with, I reckon the way to go is use config pretty similar to what <em>would</em> be deployed by this Chef cookbook, i.e. an absolute minimal <code>/etc/ceph/ceph.conf</code>, specifying nothing other than initial mons, then use the various Ceph CLI tools to create mons and osds on each node and just rely on the init script in Ceph &gt;= 0.58 to do the right thing with what it finds (having to explicitly specify each mon, osd and mds in the Ceph config by name always bugged me). Bonus points for using <a href="http://oss.linbit.com/csync2/">csync2</a> to propagate <code>/etc/ceph/ceph.conf</code> across the cluster.</p>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2013/04/one-more-chef-client-run/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Ceph Chef Experiment</title>
		<link>http://ourobengr.com/2013/04/the-ceph-chef-experiment/</link>
		<comments>http://ourobengr.com/2013/04/the-ceph-chef-experiment/#comments</comments>
		<pubDate>Thu, 11 Apr 2013 16:30:08 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ceph]]></category>
		<category><![CDATA[chef]]></category>
		<category><![CDATA[hackweek]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=463</guid>
		<description><![CDATA[Sometimes it&#8217;s most interesting to just dive in and see what breaks. There&#8217;s a Chef cookbook for Ceph on github which seems rather more recently developed than the one in SUSE-Cloud/barclamp-ceph, and seeing as its use is documented in the Ceph manual, I &#8230; <a href="http://ourobengr.com/2013/04/the-ceph-chef-experiment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sometimes it&#8217;s most interesting to just dive in and see what breaks. There&#8217;s a <a href="https://github.com/ceph/ceph-cookbooks">Chef cookbook for Ceph on github</a> which seems rather more recently developed than the one in <a href="https://github.com/SUSE-Cloud/barclamp-ceph/tree/release/essex-hack-suse/master/chef">SUSE-Cloud/barclamp-ceph</a>, and seeing as its use is <a href="http://ceph.com/docs/master/rados/deployment/chef/">documented in the Ceph manual</a>, I reckon that&#8217;s the one I want to be using. Of course, the README says &#8220;Tested as working: Ubuntu Precise (12.04)&#8221;, and I&#8217;m using openSUSE 12.3&#8230;</p>
<p>First things first, need a Chef server, so I installed openSUSE 12.3 on a VM, then installed Chef 10 on that, roughly following the <a href="http://wiki.opscode.com/display/chef/Installing+Chef+Server+Manually">manual installation instructions</a>.  Note for those following along at home &#8211; sometimes the blocks I&#8217;ve copied here are just commands, sometimes they include command output as well.  You&#8217;ll figure it out <img src='http://ourobengr.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<pre># zypper ar -f http://download.opensuse.org/repositories/systemsmanagement:/chef:/10/openSUSE_12.3/systemsmanagement:chef:10.repo
# zypper in rubygem-chef-server
# chkconfig couchdb on
# rccouchdb start
# chkconfig rabbitmq-server on
# rcrabbitmq-server start
# rabbitmqctl add_vhost /chef
# rabbitmqctl add_user chef testing
# rabbitmqctl set_permissions -p /chef chef ".*" ".*" ".*"
# for service in solr expander server server-webui; do
      chkconfig chef-$service on
      rcchef-$service start
  done
</pre>
<p>I didn&#8217;t bother editing <code>/etc/chef/server.rb</code>, the config as shipped works fine (not that the AMQP password is very secure, mind).  The only catch is the web UI didn&#8217;t start.  IIRC this is due to <code>/etc/chef/webui.pem</code> not existing yet (chef-server creates it, but this doesn&#8217;t finish until later).</p>
<p>Then configured knife:</p>
<pre># knife configure -i
WARNING: No knife configuration file found
Where should I put the config file? [/root/.chef/knife.rb]
Please enter the chef server URL: [http://os-chef.example.com:4000]
Please enter a clientname for the new client: [root]
Please enter the existing admin clientname: [chef-webui]
Please enter the location of the existing admin client's private key: [/etc/chef/webui.pem]
Please enter the validation clientname: [chef-validator]
Please enter the location of the validation key: [/etc/chef/validation.pem]
Please enter the path to a chef repository (or leave blank):
Creating initial API user...
Created client[root]
Configuration file written to /root/.chef/knife.rb</pre>
<p>And make a client for me:</p>
<pre># knife client create tserong -d -a -f /tmp/tserong.pem
Created client[tserong]</pre>
<p>Then set up my desktop as a Chef workstation (roughly following <a href="http://wiki.opscode.com/display/chef/Workstation+Setup+for+openSUSE">these docs</a>, and again pulling Chef from <a href="https://build.opensuse.org/project/show?project=systemsmanagement:chef:10">systemsmanagement:chef:10</a> on OBS):</p>
<pre># sudo zypper in rubygem-chef
# cd ~
# git clone git://github.com/opscode/chef-repo.git
# cd chef-repo
# mkdir -p ~/.chef
# scp root@os-chef:/etc/chef/validation.pem ~/.chef/
# scp root@os-chef:/tmp/tserong.pem ~/.chef/
# knife configure
WARNING: No knife configuration file found
Where should I put the config file? [/home/tserong/.chef/knife.rb]
Please enter the chef server URL: [http://desktop.example.com:4000] http://os-chef.example.com:4000
Please enter an existing username or clientname for the API: [tserong]
Please enter the validation clientname: [chef-validator]
Please enter the location of the validation key: [/etc/chef/validation.pem] /home/tserong/.chef/validation.pem
Please enter the path to a chef repository (or leave blank): /home/tserong/chef-repo
[...]
Configuration file written to /home/tserong/.chef/knife.rb</pre>
<p>Make sure it works:</p>
<pre># knife client list
chef-validator
chef-webui
root
tserong</pre>
<p>Grab the cookbooks and upload them to the Chef server.  The Ceph cookbook claims to depend on apache and apt, although presumably the former is only necessary for RADOSGW, and the latter for Debian-based systems.  Anyway:</p>
<pre># cd ~/chef-repo
# git submodule add git@github.com:opscode-cookbooks/apache2.git cookbooks/apache2
# git submodule add git@github.com:opscode-cookbooks/apt.git cookbooks/apt
# git submodule add git@github.com:ceph/ceph-cookbooks.git cookbooks/ceph
# knife cookbook upload apache2
# knife cookbook upload apt
# knife cookbook upload ceph</pre>
<p>Boot up a couple more VMs to be Ceph nodes, using the <a href="https://susestudio.com/a/eEqfPk/opensuse-12-3-ceph-0-56">appliance image</a> from <a href="/2013/04/hackweek-9-ceph-appliance-odyssey/" title="Hackweek 9: Ceph Appliance Odyssey">last time</a>.  These need chef-client installed, and need to be registered with the chef server.  <code>knife bootstrap</code> will install chef-client and dependencies for you, but after looking at the source, if <code>/usr/bin/chef</code> doesn&#8217;t exist, it actually uses <code>wget</code> or <code>curl</code> to pull http://opscode.com/chef/install.sh and runs that.  How this is considered a good idea is completely baffling to me, so again I installed our chef build from OBS on each of my Ceph nodes (note to self: should add this to appliance image on Studio):</p>
<pre># zypper ar -f http://download.opensuse.org/repositories/systemsmanagement:/chef:/10/openSUSE_12.3/systemsmanagement:chef:10.repo
# zypper in rubygem-chef</pre>
<p>And ran the now-arguably-safe <code>knife bootstrap</code> from my desktop:</p>
<pre># knife bootstrap ceph-0.example.com
Bootstrapping Chef on ceph-0.example.com
[...]
# knife bootstrap ceph-1.example.com
Bootstrapping Chef on ceph-1.example.com
[...]</pre>
<p>Then, roughly following the Ceph <a href="http://ceph.com/docs/master/rados/deployment/chef/">Deploying with Chef</a> document.</p>
<p>Generate a UUID and monitor secret (had to do the latter on one of my Ceph VMs, as ceph-authtool is conveniently already installed):</p>
<pre># uuidgen -r
f80aba97-26c5-4aa3-971e-09c5a3afa32f
# ceph-authtool /dev/stdout --name=mon. --gen-key
[mon.]
key = AQC8umZRaDlKKBAAqD8li3u2JObepmzFzDPM3g==</pre>
<p>Then on my desktop:</p>
<pre>knife environment create Ceph</pre>
<p>This I filled in with:</p>
<pre>{
  "name": "Ceph",
  "description": "",
  "cookbook_versions": {
  },
  "json_class": "Chef::Environment",
  "chef_type": "environment",
  "default_attributes": {
    "ceph": {
      "monitor-secret": "AQC8umZRaDlKKBAAqD8li3u2JObepmzFzDPM3g==",
      "config": {
        "fsid": "f80aba97-26c5-4aa3-971e-09c5a3afa32f",
        "mon_initial_members": "ceph-0,ceph-1",
        "global": {
        },
        "osd": {
          "osd journal size": "1000",
          "filestore xattr use omap": "true"
        }
      }
    }
  },
  "override_attributes": {
  }
}</pre>
<p>Uploaded roles:</p>
<pre># knife role from file cookbooks/ceph/roles/ceph-mds.rb
# knife role from file cookbooks/ceph/roles/ceph-mon.rb
# knife role from file cookbooks/ceph/roles/ceph-osd.rb
# knife role from file cookbooks/ceph/roles/ceph-radosgw.rb</pre>
<p>Assigned roles to nodes:</p>
<pre># knife node run_list add ceph-0.example.com 'role[ceph-mon],role[ceph-osd],role[ceph-mds]'
# knife node run_list add ceph-1.example.com 'role[ceph-mon],role[ceph-osd],role[ceph-mds]'</pre>
<p>I didn&#8217;t bother with recipe[ceph::repo] as I don&#8217;t care about installation right now (Ceph is already installed in my VM images).</p>
<p>Had to set <code>"chef_environment": "Ceph"</code> for each node by running:</p>
<pre># knife node edit ceph-0.example.com
# knife node edit ceph-1.example.com</pre>
<p>Didn&#8217;t set Ceph osd_devices per node &#8211; I&#8217;m just playing, so can sit on top of the root partition.</p>
<p>Now let&#8217;s see if it works:</p>
<pre># knife ssh name:ceph-0.example.com -x root chef-client
[2013-04-11T13:44:47+00:00] INFO: *** Chef 10.24.0 ***
[2013-04-11T13:44:48+00:00] INFO: Run List is [role[ceph-mon], role[ceph-osd], role[ceph-mds]]
[2013-04-11T13:44:48+00:00] INFO: Run List expands to [ceph::mon, ceph::osd, ceph::mds]
[2013-04-11T13:44:48+00:00] INFO: HTTP Request Returned 404 Not Found: No routes match the request: /reports/nodes/ceph-0.example.com/runs
[2013-04-11T13:44:48+00:00] INFO: Starting Chef Run for ceph-0.example.com
[2013-04-11T13:44:48+00:00] INFO: Running start handlers
[2013-04-11T13:44:48+00:00] INFO: Start handlers complete.
[2013-04-11T13:44:48+00:00] INFO: Loading cookbooks [apache2, apt, ceph]
No ceph-mon found.

[2013-04-11T13:44:48+00:00] INFO: Processing template[/etc/ceph/ceph.conf] action create (ceph::conf line 6)
[2013-04-11T13:44:48+00:00] INFO: template[/etc/ceph/ceph.conf] backed up to /var/chef/backup/etc/ceph/ceph.conf.chef-20130411134448
[2013-04-11T13:44:48+00:00] INFO: template[/etc/ceph/ceph.conf] updated content
[2013-04-11T13:44:48+00:00] INFO: template[/etc/ceph/ceph.conf] owner changed to 0
[2013-04-11T13:44:48+00:00] INFO: template[/etc/ceph/ceph.conf] group changed to 0
[2013-04-11T13:44:48+00:00] INFO: template[/etc/ceph/ceph.conf] mode changed to 644
[2013-04-11T13:44:48+00:00] INFO: Processing service[ceph_mon] action nothing (ceph::mon line 23)
[2013-04-11T13:44:48+00:00] INFO: Processing execute[ceph-mon mkfs] action run (ceph::mon line 40)
creating /var/lib/ceph/tmp/ceph-ceph-0.mon.keyring
added entity mon. auth auth(auid = 18446744073709551615 key=AQC8umZRaDlKKBAAqD8li3u2JObepmzFzDPM3g== with 0 caps)
ceph-mon: mon.noname-a 192.168.4.118:6789/0 is local, renaming to mon.ceph-0
ceph-mon: set fsid to f80aba97-26c5-4aa3-971e-09c5a3afa32f
ceph-mon: created monfs at /var/lib/ceph/mon/ceph-ceph-0 for mon.ceph-0
[2013-04-11T13:44:49+00:00] INFO: execute[ceph-mon mkfs] ran successfully
[2013-04-11T13:44:49+00:00] INFO: execute[ceph-mon mkfs] sending start action to service[ceph_mon] (immediate)
[2013-04-11T13:44:49+00:00] INFO: Processing service[ceph_mon] action start (ceph::mon line 23)
[2013-04-11T13:44:49+00:00] INFO: service[ceph_mon] started
[2013-04-11T13:44:49+00:00] INFO: Processing ruby_block[tell ceph-mon about its peers] action create (ceph::mon line 64)
connect to
/var/run/ceph/ceph-mon.ceph-0.asok
failed with
(2) No such file or directory

connect to
/var/run/ceph/ceph-mon.ceph-0.asok
failed with
(2) No such file or directory

[2013-04-11T13:44:49+00:00] INFO: ruby_block[tell ceph-mon about its peers] called
[2013-04-11T13:44:49+00:00] INFO: Processing ruby_block[get osd-bootstrap keyring] action create (ceph::mon line 79)
2013-04-11 13:44:49.928800 7f58e9677700 0
-- :/23863 &gt;&gt; 192.168.4.117:6789/0 pipe(0x18f0d30 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault

2013-04-11 13:44:52.928739 7f58efc1c700 0 -- :/23863 &gt;&gt; 192.168.4.118:6789/0 pipe(0x7f58e0000c00 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault
2013-04-11 13:44:55.929375 7f58e9677700 0 -- :/23863 &gt;&gt; 192.168.4.117:6789/0 pipe(0x7f58e0003010 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault
2013-04-11 13:44:58.929211 7f58efc1c700 0 -- :/23863 &gt;&gt; 192.168.4.118:6789/0 pipe(0x7f58e00039f0 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault
2013-04-11 13:45:01.929787 7f58e9677700 0 -- :/23863 &gt;&gt; 192.168.4.117:6789/0 pipe(0x7f58e00023b0 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault
[...]
</pre>
<p>And it&#8217;s stuck there, trying and failing to talk to something.</p>
<p>See those &#8220;no such file or directory&#8221; errors after &#8220;service[ceph_mon] started&#8221;?  Yeah?  Well, the mon isn&#8217;t started, hence the missing sockets in <code>/var/run/ceph</code>.</p>
<p>Why isn&#8217;t the mon started?  Turns out the ceph init script won&#8217;t start any mon (or osd or mds for that matter) if you don&#8217;t have entries in the config file with some suffix, e.g. <code>[mon.a]</code>.  And all I&#8217;ve got is:</p>
<pre>[global]
  fsid =  f80aba97-26c5-4aa3-971e-09c5a3afa32f
  mon initial members = ceph-0,ceph-1
  mon host = 192.168.4.118:6789, 192.168.4.117:6789

[osd]
    osd journal size = 1000
    filestore xattr use omap = true</pre>
<p>But given the mon recipe triggers <code>ceph-mon-all-starter</code> if using upstart (which it would be, on the &#8220;Tested as working: Ubuntu Precise&#8221;), and <code>ceph-mon-all-starter</code> seems to just ultimately run something like <code>ceph-mon --cluster=ceph -i ceph-0</code> regardless of what&#8217;s in the config file&#8230;  Maybe I can cheat.</p>
<p>Directly starting ceph-mon from a shell on ceph-0 before the <code>chef-client</code> run turned out to be a bad idea (bit of a chicken and egg problem figuring out what to inject into the &#8220;mon host&#8221; line of the config file).  So I put a bit of evil into the mon recipe:</p>
<pre>diff --git a/recipes/mon.rb b/recipes/mon.rb
index 5cd76de..a518830 100644
--- a/recipes/mon.rb
+++ b/recipes/mon.rb
@@ -61,6 +61,10 @@ EOH
   notifies :start, "service[ceph_mon]", :immediately
 end

+execute 'hack to force mon start' do
+  command "ceph-mon --cluster=ceph -i #{node['hostname']}"
+end
+
 ruby_block "tell ceph-mon about its peers" do
   block do
     mon_addresses = get_mon_addresses()
</pre>
<p>Try again:</p>
<pre># knife ssh name:ceph-0.example.com -x root chef-client
[2013-04-11T15:10:43+00:00] INFO: *** Chef 10.24.0 ***
[2013-04-11T15:10:44+00:00] INFO: Run List is [role[ceph-mon], role[ceph-osd], role[ceph-mds]]
[2013-04-11T15:10:44+00:00] INFO: Run List expands to [ceph::mon, ceph::osd, ceph::mds]
[2013-04-11T15:10:44+00:00] INFO: HTTP Request Returned 404 Not Found: No routes match the request: /reports/nodes/ceph-0.example.com/runs
[2013-04-11T15:10:44+00:00] INFO: Starting Chef Run for ceph-0.example.com
[2013-04-11T15:10:44+00:00] INFO: Running start handlers
[2013-04-11T15:10:44+00:00] INFO: Start handlers complete.
[2013-04-11T15:10:44+00:00] INFO: Loading cookbooks [apache2, apt, ceph]
[2013-04-11T15:10:44+00:00] INFO: Storing updated cookbooks/ceph/recipes/mon.rb in the cache.
No ceph-mon found.

[2013-04-11T15:10:44+00:00] INFO: Processing template[/etc/ceph/ceph.conf] action create (ceph::conf line 6)
[2013-04-11T15:10:44+00:00] INFO: Processing service[ceph_mon] action nothing (ceph::mon line 23)
[2013-04-11T15:10:44+00:00] INFO: Processing execute[ceph-mon mkfs] action run (ceph::mon line 40)
[2013-04-11T15:10:44+00:00] INFO: Processing execute[hack to force mon start] action run (ceph::mon line 65)
starting mon.ceph-0 rank 1 at 192.168.4.118:6789/0 mon_data /var/lib/ceph/mon/ceph-ceph-0 fsid f80aba97-26c5-4aa3-971e-09c5a3afa32f
[2013-04-11T15:10:44+00:00] INFO: execute[hack to force mon start] ran successfully
[2013-04-11T15:10:44+00:00] INFO: Processing ruby_block[tell ceph-mon about its peers] action create (ceph::mon line 69)
adding peer 192.168.4.118:6789/0 to list: 192.168.4.117:6789/0,192.168.4.118:6789/0

adding peer 192.168.4.117:6789/0 to list: 192.168.4.117:6789/0,192.168.4.118:6789/0

[2013-04-11T15:10:44+00:00] INFO: ruby_block[tell ceph-mon about its peers] called
[2013-04-11T15:10:44+00:00] INFO: Processing ruby_block[get osd-bootstrap keyring] action create (ceph::mon line 84)
2013-04-11 15:10:44.432266 7f8f9f8c0700  0
-- :/25965 >> 192.168.4.117:6789/0 pipe(0x16d9d30 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault

2013-04-11 15:10:50.433053 7f8f9f7bf700  0 -- 192.168.4.118:0/25965 >> 192.168.4.117:6789/0 pipe(0x7f8f94001d30 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault
2013-04-11 15:10:56.433268 7f8fa5e65700  0 -- 192.168.4.118:0/25965 >> 192.168.4.117:6789/0 pipe(0x7f8f94001d30 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault
2013-04-11 15:11:02.433987 7f8f9f8c0700  0 -- 192.168.4.118:0/25965 >> 192.168.4.117:6789/0 pipe(0x7f8f94002db0 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault
2013-04-11 15:11:08.434358 7f8f9f7bf700  0 -- 192.168.4.118:0/25965 >> 192.168.4.117:6789/0 pipe(0x7f8f94004fb0 sd=3 :0 s=1 pgs=0 cs=0 l=1).fault</pre>
<p>At this point it&#8217;s stalled presumably waiting to talk to the other mon, so in another terminal window had to kick off a <code>chef-client</code> run on ceph-1 to get it into the same state as ceph-0 (<code>knife ssh name:ceph-1.example.com -x root chef-client</code>). This allowed both nodes to progress to the next problem:</p>
<pre>2013-04-11 15:11:28.563438 7f8fa5e67780 -1 monclient(hunting): authenticate NOTE: no keyring found; disabled cephx authentication
2013-04-11 15:11:28.563443 7f8fa5e67780 -1 unable to authenticate as client.admin
2013-04-11 15:11:28.563814 7f8fa5e67780 -1 ceph_tool_common_init failed.
2013-04-11 15:11:29.572208 7f2369130780 -1 monclient(hunting): authenticate NOTE: no keyring found; disabled cephx authentication
2013-04-11 15:11:29.572210 7f2369130780 -1 unable to authenticate as client.admin
2013-04-11 15:11:29.572527 7f2369130780 -1 ceph_tool_common_init failed.
2013-04-11 15:11:31.380073 7f1907d18780 -1 monclient(hunting): authenticate NOTE: no keyring found; disabled cephx authentication
2013-04-11 15:11:31.380078 7f1907d18780 -1 unable to authenticate as client.admin
2013-04-11 15:11:31.380720 7f1907d18780 -1 ceph_tool_common_init failed.
2013-04-11 15:11:32.392345 7fc2bc462780 -1 monclient(hunting): authenticate NOTE: no keyring found; disabled cephx authentication
[...]</pre>
<p>And we&#8217;re spinning again.</p>
<p>But that&#8217;s enough for one day.</p>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2013/04/the-ceph-chef-experiment/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cool URIs Don&#8217;t Change</title>
		<link>http://ourobengr.com/2013/04/cool-uris-dont-change/</link>
		<comments>http://ourobengr.com/2013/04/cool-uris-dont-change/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 11:43:10 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[past]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=368</guid>
		<description><![CDATA[A long time ago in a galaxy far, far away&#8230; Or, more accurately, thirteen years ago while living in a house maybe 600-800km away (depending on your mode of transport), I published a tutorial entitled JavaScript for E-Commerce, or JSEC &#8230; <a href="http://ourobengr.com/2013/04/cool-uris-dont-change/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A long time ago in a galaxy far, far away&#8230; Or, more accurately, thirteen years ago while living in a house maybe 600-800km away (depending on your mode of transport), I published a tutorial entitled <a href="http://www.wirejunkie.com/resources/ecommerce/jsec/">JavaScript for E-Commerce</a>, or JSEC for short.</p>
<p>From the web server logs, the JSEC tutorial (and, for that matter, the <a href="http://www.wirejunkie.com/resources/wearable/keyglove/">KeyGlove</a> project, which happened at a similar time), are still pretty high on the list of search terms and entry pages that land random visitors on <a href="http://www.wirejunkie.com/">wirejunkie.com</a>. And I still think the JSEC tutorial is a decent, well-structured tutorial, insofar as it leads one through a certain development process, but I did realise at some point that even though the code all still works in modern web browsers, the tutorial no longer necessarily instructs best practice. For example, it presents a <code>makeEmptyArray()</code> function and associated scaffolding necessary for running on Netscape 2.0.</p>
<p>You all remember <a href="http://en.wikipedia.org/wiki/Netscape_(web_browser)#Release_history">Netscape 2.0</a>, right?</p>
<p>But even though the content is outdated, I could never bring myself to take the JSEC tutorial down, because <a style="font-style: normal; line-height: 24px;" href="http://www.w3.org/Provider/Style/URI.html">cool URIs don&#8217;t change</a>. This is a positive restatement of the old saw &#8221;I hope you know that this will go down on your permanent record&#8221;. Consequently I added a note at the top of the table of contents to say:</p>
<p style="padding-left: 30px;">Please note that this tutorial was first published in the year 2000, and is based on work conducted between 1997 and 2000. While we trust that it still constitutes useful tutorial material, it should not necessarily be construed as to impart best practice in the year $THIS_YEAR.</p>
<p>That&#8217;s suitably cautionary, but I really want to take the opportunity to state clearly that if I were building an online shop today, I would probably not do so as outlined in the JSEC tutorial. There are several reasons for this, the two most obvious being:</p>
<ol>
<li>The framework presented uses <code>&lt;frameset&gt;</code> heavily. This will almost certainly provide a poor experience for mobile web users, which is a <em>huge</em> number of people these days. I suspect it&#8217;s also problematic for people using screen readers.</li>
<li>At the time the tutorial was written, server-side (PHP/Python/Ruby etc.) ecommerce frameworks were either rare, immature, expensive, nonexistent, or perhaps all of the above. I rather <del>hope</del> think things have changed in the meantime, which makes a pure JavaScript solution less interesting than it used to be.</li>
</ol>
<p>In summary, the JSEC tutorial will remain online for all to enjoy, but do please be aware of the historical context in which it was created.</p>
<p>(I also find it entertaining that I can believably use the term &#8220;historical context&#8221; after only a decade or so. Aaah, technology&#8230;.)</p>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2013/04/cool-uris-dont-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hackweek 9: Ceph Appliance Odyssey</title>
		<link>http://ourobengr.com/2013/04/hackweek-9-ceph-appliance-odyssey/</link>
		<comments>http://ourobengr.com/2013/04/hackweek-9-ceph-appliance-odyssey/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 07:09:45 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ceph]]></category>
		<category><![CDATA[hackweek]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=433</guid>
		<description><![CDATA[This week is SUSE Hack Week 9. I wanted to spend some time working on a Ceph appliance image to make it easy to play with Ceph on openSUSE and/or SLES. I tried making a SLES 11 SP2 appliance with SUSE &#8230; <a href="http://ourobengr.com/2013/04/hackweek-9-ceph-appliance-odyssey/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This week is <a href="http://hackweek.suse.com/">SUSE Hack Week 9</a>. I wanted to spend some time working on a <a href="https://github.com/SUSE/hackweek/wiki/Ceph-Appliance">Ceph appliance image</a> to make it easy to play with <a href="http://ceph.com/">Ceph</a> on <a href="https://www.opensuse.org/en/">openSUSE</a> and/or <a href="https://www.suse.com/products/server/">SLES</a>.</p>
<p style="text-align: left;">I tried making a SLES 11 SP2 appliance with <a href="https://susestudio.com/home">SUSE Studio</a>. I had to add the <a href="https://build.opensuse.org/project/show?project=filesystems">filesystems</a> and <a href="https://build.opensuse.org/project/show?project=devel%3Alibraries%3Ac_c%2B%2B">devel:libraries:c_c++</a> repos from OBS to get reasonably up-to-date Ceph 0.56 and libboost_thread.so.1.49.0, but on boot when the appliance tried to expand its root filesystem, it died claiming it couldn&#8217;t load libe2p.so.2. Studio claims to be pulling in e2fsprogs from <em>both</em> the SP2 Updates and filesystems repo, so maybe that&#8217;s the problem. It seems impossible to choose one or the other, as they are the same version. <em>(Update: it was just pointed out to me that you can click the little box next to the version number to choose which one is installed &#8211; must try again.)</em></p>
<p style="text-align: left;"><a href="http://ourobengr.com/wp-uploads/2013/04/mystery-e2fsprogs.png"><img class="alignright size-full wp-image-437" title="mystery-e2fsprogs" src="http://ourobengr.com/wp-uploads/2013/04/mystery-e2fsprogs.png" alt="" width="661" height="193" /></a></p>
<p>So I left that alone and tried an openSUSE 12.3 appliance. The filesystems/ceph build for 12.3 is disabled, so I branched it and kicked off a build which failed with an exciting OOM error:</p>
<pre>[ 3831s] [ 3803.167109] Out of memory: Kill process 16364 (cc1plus) score 254 or sacrifice child
[ 3831s] [ 3803.167959] Killed process 16364 (cc1plus) total-vm:825128kB, anon-rss:168760kB, file-rss:4kB
[ 3831s] g++: internal compiler error: Killed (program cc1plus)
[ 3831s] Please submit a full bug report,
[ 3831s] with preprocessed source if appropriate.
[ 3831s] See  for instructions.</pre>
<p>Guess I should do what it says and file a bug. But I really did want something to play with immediately, so I added <a href="http://ceph.com/rpm/opensuse12/x86_64/">http://ceph.com/rpm/opensuse12/x86_64/</a> as a repo, and pulled in the upstream Ceph 0.56 RPMs. This seems to have worked and given me an <a href="https://susestudio.com/a/eEqfPk/opensuse-12-3-ceph-0-56">openSUSE 12.3 image</a> I can use to run through the <a href="http://ceph.com/docs/master/start/quick-start/">Ceph 5-Minute Quick Start</a>, <a href="http://ceph.com/docs/master/start/quick-rbd">Block Device Quick Start</a> and <a href="http://ceph.com/docs/master/start/quick-cephfs">CephFS Quick Start</a>. So, here&#8217;s my extremely terse openSUSEified version of those quick start documents:</p>
<h1>5-Minute Quick Start</h1>
<h2>Deploy the Appliance Image</h2>
<p>I&#8217;m doing this with a couple of VMs, so in my case I make a couple of copies of <a href="https://susestudio.com/a/eEqfPk/opensuse-12-3-ceph-0-56">the image</a>:</p>
<pre># cp ~/openSUSE_12.3_Ceph_0.56.x86_64-0.0.3.qcow2 \
    /var/lib/libvirt/images/ceph-quickstart-server.qcow2
# cp ~/openSUSE_12.3_Ceph_0.56.x86_64-0.0.3.qcow2 \
    /var/lib/libvirt/images/ceph-quickstart-client.qcow2</pre>
<p>Then I use virt-manager to create two VMs, backed by those images. Boot &#8216;em up, log in (root password is &#8220;linux&#8221;), run <code>yast network</code> and set sensible hostnames (&#8220;ceph-client&#8221; and &#8220;ceph-server&#8221; instead of &#8220;linux-kjqd&#8221;, although admittedly those names wouldn&#8217;t be very sensible in a real deployment with more than one node).</p>
<h2>Edit the Configuration File</h2>
<p>The appliance image includes the <code>/etc/ceph/ceph.conf</code> file from the original 5-minute quick start, so log in to ceph-server, edit that file and replace <code>{hostname}</code> and <code>{ip-address}</code> with their real values, then copy the configuration file to ceph-client:</p>
<pre># scp /etc/ceph/ceph.conf ceph-client:/etc/ceph/</pre>
<h2>Deploy the Configuration</h2>
<p>On ceph-server, create directories for each daemon:</p>
<pre># mkdir -p /var/lib/ceph/osd/ceph-0
# mkdir -p /var/lib/ceph/osd/ceph-1
# mkdir -p /var/lib/ceph/mon/ceph-a
# mkdir -p /var/lib/ceph/mds/ceph-a</pre>
<p>Still on ceph-server, run the following:</p>
<pre># cd /etc/ceph
# mkcephfs -a -c /etc/ceph/ceph.conf -k ceph.keyring</pre>
<h2>Start Ceph</h2>
<p>On ceph-server:</p>
<pre># chkconfig ceph on
# rcceph start
# ceph health</pre>
<p>This will initially show something like:</p>
<pre>HEALTH_ERR 576 pgs stuck inactive; 576 pgs stuck unclean; no osds</pre>
<p>Eventually it will say <code>HEALTH_OK</code> and you&#8217;re good to go.</p>
<h2>Copy the Keyring to the Client</h2>
<p>This is necessary for authentication:</p>
<pre># scp /etc/ceph/ceph.keyring ceph-client:/etc/ceph/</pre>
<h1>Block Device Quick Start</h1>
<p>On ceph-client:</p>
<pre># rbd create foo --size 4096
# modprobe rbd
# rbd map foo --pool rbd --name client.admin
# mkfs.ext4 -m0 /dev/rbd1
# mkdir /mnt/myrbd
# mount /dev/rbd1 /mnt/myrbd</pre>
<p>(Why is this <code>/dev/rbd1</code>, not <code>/dev/rbd/rbd/foo</code> as in the original quick start?)</p>
<h1>CephFS Quick Start</h1>
<p>On ceph-client (kernel driver, not FUSE):</p>
<pre># mkdir /mnt/mycephfs
# mount -t ceph -o name=admin,secret=$(ceph-authtool \
    --name client.admin /etc/ceph/ceph.keyring --print-key) \
    ceph-server:/ /mnt/mycephfs</pre>
<p>Interestingly, this gives &#8220;mount: error writing /etc/mtab: Invalid argument&#8221;, but still seems to actually mount the filesystem.</p>
<p>Also note that it appears I have 32GB of space for Ceph to use, even though ceph-server only has a 16GB root partition. I rather think that&#8217;s because there&#8217;s two OSDs, but both are just running off the root filesystem, they&#8217;re not separate disks/filesystems. I assume this is one of those Don&#8217;t Try This At Home things.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2013/04/hackweek-9-ceph-appliance-odyssey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>openSUSE 12.3 / Lenovo T430</title>
		<link>http://ourobengr.com/2013/03/opensuse-12-3-lenovo-t430/</link>
		<comments>http://ourobengr.com/2013/03/opensuse-12-3-lenovo-t430/#comments</comments>
		<pubDate>Tue, 26 Mar 2013 07:40:17 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[lenovo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[systemd]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=350</guid>
		<description><![CDATA[My new Lenovo T430 arrived last week. After delighting in that satisfying new laptop smell, I made recovery DVDs I will presumably never need, then blew away Windows 7 and installed openSUSE 12.3 (full disclosure: I work for SUSE, so my choice &#8230; <a href="http://ourobengr.com/2013/03/opensuse-12-3-lenovo-t430/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a style="font-size: 15.333333015441895px; font-style: normal; line-height: 16px; text-decoration: underline;" href="http://ourobengr.com/wp-uploads/2013/03/t430-touchpad.jpg"><img class="alignright size-medium wp-image-357" style="border-color: #bbbbbb; margin-top: 0.4em; background-color: #eeeeee;" title="Lenovo T430 Touchpad" src="http://ourobengr.com/wp-uploads/2013/03/t430-touchpad-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>My new <a href="http://shopap.lenovo.com/au/en/products/laptops/thinkpad/t-series/t430/index.html">Lenovo T430</a> arrived last week. After delighting in that satisfying new laptop smell, I made recovery DVDs I will presumably never need, then blew away Windows 7 and installed <a href="http://software.opensuse.org/123/en">openSUSE 12.3</a> (full disclosure: I work for <a href="http://www.suse.com/">SUSE</a>, so my choice of distro may not be entirely unbiased).</p>
<p>Some niceties:</p>
<ul>
<li>The textured touchpad is lovely. Much better feel than a pure flat surface.</li>
<li>As I&#8217;d expect, the keyboard is excellent (even if PGUP/PGDN aren&#8217;t where I&#8217;m used to).</li>
<li>The openSUSE installer is quick and easy. I&#8217;m pretty sure there&#8217;s less steps than last time I did a regular openSUSE install from scratch a couple of years ago.</li>
<li>No problem setting up encrypted LVM, although on my ~500GB drive it defaults to a 20GB root and 25GB <code>/home</code>, with a whole lotta free space left over in the encrypted partition, so that might want some tweaking.</li>
<li>Entering the passphrase on boot happens on a pretty graphical screen, you don&#8217;t get thrown back to a terminal window where random junk is appearing over the passphrase entry prompt.</li>
<li>Moving my mail over from my old laptop was pretty much just an rsync of the Thunderbird profile directory (and maybe a tweak to <code>~/.thunderbird/profiles.ini</code>)</li>
</ul>
<p>Some oddities:</p>
<ul>
<li><a href="http://www.novell.com/products/groupwise/">The Novell GroupWise</a> 8.0.2 client had a couple of problems:</li>
<ul>
<li>It claims to need <code>libXm.so.3</code> (listed in RPM Requires), but works fine without it. This is fortunate, because openSUSE 12.3 doesn&#8217;t ship <code>openmotif22-libs-32bit</code> anymore.</li>
<li>Unless you&#8217;ve installed <code>libpangox-1_0-0-32bit</code>, the GroupWise client will segfault somewhere in <code>libwebrenderer.so</code>. This is less than obvious.</li>
</ul>
<li>The YaST disk partitioner seems slightly confused adding new LVs inside my encrypted VG later on (it either locked up or crashed). I haven&#8217;t had time to investigate this properly, so I&#8217;ve ignored it for the moment and used <code>lvcreate</code> and <code>mkfs</code> in a terminal instead.</li>
<li>You do need to reboot at least once after initial install for NetworkManager to work properly (this is mentioned in the <a href="https://www.suse.com/releasenotes/x86_64/openSUSE/12.3/">release notes</a>).</li>
<li>I&#8217;m running GNOME 3.6, and I tried using the tweak tool to have it just blank the screen &#8211; not suspend &#8211; when closing the laptop lid. Turns out systemd is being too clever for me, so I had to fiddle with that a bit (set <code>HandleLidSwitch=ignore</code> in <code>/etc/systemd/logind.conf</code>, then run <code>sudo systemctl restart systemd-logind</code>).</li>
</ul>
<p>Very little else to report so far. Aside from the oddities above everything else seems to Just Work<sup>TM</sup>. OTOH, all I&#8217;ve really done is web browsing, email and assorted fiddling around in terminals. Maybe listened to a bit of music (the inbuilt speakers are well and truly loud enough, but a bit tinnier than real speakers &#8211; can&#8217;t say I&#8217;m terribly surprised by that though).</p>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2013/03/opensuse-12-3-lenovo-t430/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Reasonable Baseline</title>
		<link>http://ourobengr.com/2013/03/a-reasonable-baseline/</link>
		<comments>http://ourobengr.com/2013/03/a-reasonable-baseline/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 10:17:48 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ethics]]></category>
		<category><![CDATA[philosophy]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=346</guid>
		<description><![CDATA[I went and saw Peter Singer&#8217;s keynote for The Tasmanian Writers&#8217; Festival last night. Perhaps unsurprisingly he spoke on ethics and three big problems affecting the world now (extreme poverty, animal welfare and climate change) and how these things relate &#8230; <a href="http://ourobengr.com/2013/03/a-reasonable-baseline/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I went and saw Peter Singer&#8217;s keynote for <a href="http://tendaysontheisland.org/2013-program/the-shock-of-the-now-tas-literary-festival">The Tasmanian Writers&#8217; Festival</a> last night. Perhaps unsurprisingly he spoke on ethics and three big problems affecting the world now (extreme poverty, animal welfare and climate change) and how these things relate to, and perhaps exacerbate each other.</p>
<p>Two things in particular stuck with me, and I thought it worth noting them here.</p>
<p>1) Professor Singer is in a field known as Applied Ethics. At some time in the past there was only Ethics. My inference is that the latter group are talking about &#8211; and thinking about &#8211; ethics, but not actually behaving any differently as a result of their cogitations. I find this notion simultaneously hilarious and horrifying.</p>
<p>2) At one point while speaking about living ethically, Professor Singer said that if you look back at the end of each day and say to yourself &#8220;well, I didn&#8217;t lie, cheat or steal, and I didn&#8217;t maim anybody&#8221;, you&#8217;re setting the bar too low. It would be better, he suggested, to look back and say &#8220;what did I do to improve the world today, or to help someone else in some way?&#8221; This seems like a pretty good approach to me.</p>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2013/03/a-reasonable-baseline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seriously&#8230; We&#8217;re Not Chickens Anymore</title>
		<link>http://ourobengr.com/2012/12/seriously-were-not-chickens-anymore/</link>
		<comments>http://ourobengr.com/2012/12/seriously-were-not-chickens-anymore/#comments</comments>
		<pubDate>Sun, 30 Dec 2012 05:16:36 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=339</guid>
		<description><![CDATA[As I mentioned in my last post, I keep chickens. In fact, according to the timestamps on some photos I found, I&#8217;ve kept chickens for at least ten years, so I&#8217;ve spent a fair amount of time observing them, and &#8230; <a href="http://ourobengr.com/2012/12/seriously-were-not-chickens-anymore/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in my <a title="How to Stay Sane and Productive While Hacking FOSS on a Farm" href="http://ourobengr.com/2012/12/how-to-stay-sane-and-productive-while-hacking-foss-on-a-farm/">last post</a>, I keep chickens. In fact, according to the timestamps on some photos I found, I&#8217;ve kept chickens for at least ten years, so I&#8217;ve spent a fair amount of time observing them, and their social interactions.</p>
<p>A flock of chickens (whether or not any roosters are present) will establish a pecking order. This shouldn&#8217;t be much of a surprise. They will, quite literally, peck each other to establish and maintain dominance or order.</p>
<p>Some groups of chickens (say, two or three) might seem to enjoy each others&#8217; company more than the rest of the flock and will tend to hang out together.</p>
<p>If a chicken becomes ill, or too weak to defend itself, it&#8217;s quite likely that other members of the flock will peck it to death, unless you segregate the sick chook until it gets better.</p>
<p>If there are roosters, they will tend to fight each other. Less so if they were raised together and have known each other their whole lives, but even then there&#8217;ll still be some scrapping. Roosters will also look after the hens. They will go forth and find food, then make the *dook* *dook* *dook* there&#8217;s-food-over-here noise to call their ladies over. And you really do get the sense that a rooster believes they are <em>his</em> ladies. If another rooster tries to mate with one of the hens and the boss rooster notices, he&#8217;ll attack the up and comer. He&#8217;ll even attack you, the human, trying to give the chickens food, if he thinks you&#8217;re up to no good. But by and large, these are actually all good qualities in roosters.</p>
<p>All this observation got me to thinking&#8230; Maybe the bad behaviour we humans exhibit &#8211; the sexism, the racism, the put-downs, the fighting, all that, maybe that&#8217;s because we&#8217;ve forgotten (or, worse yet, never learned) that <em>we&#8217;re not chickens anymore</em>. How many human males behave just like roosters, with little or no regard for the fact that women don&#8217;t actually need men to find food for them? And, when I mentioned my thesis to a female friend, she pointed out &#8211; how many women still behave like hens? How many of us peck at people we think are inferior to, or less knowledgeable than, ourselves?<em><br />
</em></p>
<p>The life of a chicken seems to consist mostly of eating, fucking, fighting and making little baby chickens. Humans do all these things too &#8211; and should be enjoying most of them &#8211; but I&#8217;d like to think that in the 313-330 million years since the common ancestor of humans and birds split, we&#8217;d have learned a thing or two about how to treat each other with decency and respect.</p>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2012/12/seriously-were-not-chickens-anymore/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Stay Sane and Productive While Hacking FOSS on a Farm</title>
		<link>http://ourobengr.com/2012/12/how-to-stay-sane-and-productive-while-hacking-foss-on-a-farm/</link>
		<comments>http://ourobengr.com/2012/12/how-to-stay-sane-and-productive-while-hacking-foss-on-a-farm/#comments</comments>
		<pubDate>Mon, 17 Dec 2012 02:49:53 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[farming]]></category>
		<category><![CDATA[osdc2012]]></category>
		<category><![CDATA[tasmania]]></category>
		<category><![CDATA[telework]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=224</guid>
		<description><![CDATA[Following is a transcript of the talk I gave at OSDC 2012. It has been edited slightly for clarity, but should otherwise be a reasonably faithful reproduction. For those following along at home, I&#8217;m sorry the slides are all images, even when &#8230; <a href="http://ourobengr.com/2012/12/how-to-stay-sane-and-productive-while-hacking-foss-on-a-farm/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Following is a transcript of the <a href="http://osdc.com.au/talks/how-stay-sane-and-productive-while-hacking-foss-farm">talk</a> I gave at <a href="http://osdc.com.au/">OSDC</a> 2012. It has been edited slightly for clarity, but should otherwise be a reasonably faithful reproduction. For those following along at home, I&#8217;m sorry the slides are all images, even when they consist only of text. If there&#8217;s a better way of integrating an export from LibreOffice Impress with a hand-tooled transcript, I&#8217;m all ears. Otherwise, here goes&#8230;</p>
<p><span id="more-224"></span></p>
<h1>The Talk</h1>
<p>[introduction, audience applauds politely]</p>
<p>Thank you.</p>
<p>This is a gratuitous photo from the top of <a href="http://www.flickr.com/photos/tserong/sets/72157625724572294/">Hartz Peak</a> in Southern Tasmania. If I were to light the Beacon Fire of Amon Din at my house, you could possibly see it from here.</p>
<div><img class="alignnone  wp-image-227" title="Hartz Peak" src="http://ourobengr.com/wp-uploads/2012/12/img0.jpg" alt="" width="640" height="480" /></div>
<p>I&#8217;m here to tell a story about Staying Sane and Productive While Hacking Free and Open Source Software on a Farm.</p>
<p><img class="alignnone  wp-image-228" title="How to stay Sane and Productive while Hacking FOSS on a Farm" src="http://ourobengr.com/wp-uploads/2012/12/img1.jpg" alt="" width="640" height="480" /></p>
<p>I work for <a href="http://www.suse.com">SUSE</a>, which is an enterprise Linux company that I hope most of everybody here has heard of. Mostly I work on High Availability and Cloud Software; <a href="http://linux-ha.org/wiki/Main_Page">Linux-HA</a>, <a href="http://clusterlabs.org/">Pacemaker</a>, <a href="http://www.openstack.org/">OpenStack</a>, <a href="https://github.com/dellcloudedge/crowbar">Crowbar</a>.</p>
<p>I&#8217;ve been working from home exclusively for just under four years, most of that time at SUSE, and for the last two and a half years I&#8217;ve been doing this from a small farm in southern Tasmania.</p>
<p><img class="alignnone  wp-image-229" title="A Bit About Me" src="http://ourobengr.com/wp-uploads/2012/12/img2.jpg" alt="" width="640" height="480" /></p>
<p>This talk is a little bit about farming, and it&#8217;s a bit about teleworking. It&#8217;s about work/life balance, but I hate that term, because it&#8217;s like saying your work is not part of your life&#8230; But we spend so much time working &#8211; when you meet a new person they say &#8220;what do you do&#8221; and you tell them what your job is.</p>
<p><img class="alignnone  wp-image-230" style="color: #333333; font-style: normal; line-height: 24px;" title="A Bit About This Talk" src="http://ourobengr.com/wp-uploads/2012/12/img3.jpg" alt="" width="640" height="480" /></p>
<p>So I would prefer a term like &#8220;life balance&#8221;, or &#8220;harmony&#8221;, or something like that. But there is actually a good word for this, which is &#8220;eudaimonia&#8221;, a concept which appears in the works of Aristotle. At the time that probably meant &#8220;right living&#8221;, except that doesn&#8217;t really mean anything unless you already know what it means. More modernly it might be described as &#8220;flourishing&#8221;. If you look at the <a href="http://en.wikipedia.org/wiki/Eudaimonia">wikipedia page for eudaimonia</a>, someone in modern psychology has described it as six things; autonomy, personal growth, self acceptance, purpose in life, environmental mastery and positive relations with others. All of which sound really good to me.</p>
<p>A bit of backstory &#8211; my wife and I have this crazy idea that sustainability and self-sufficiency are worthy things to try to achieve, and my work with high availability makes me a little bit professionally paranoid about the power going out and that sort of thing, and that mindset kind of fits well there too. Growing and raising your own food can get you a reasonable distance down that path, I think. I also think that it&#8217;s better for the environment, it&#8217;s better for your food, and it&#8217;s better for you. And it&#8217;s a lot easier to spend time doing this if you work from home.</p>
<p><img class="alignnone  wp-image-231" title="Some Backstory" src="http://ourobengr.com/wp-uploads/2012/12/img4.jpg" alt="" width="640" height="480" /></p>
<p>We&#8217;ve been gardening pretty much forever &#8211; fruit, vegetables, that sort of thing, and for most of forever we&#8217;ve also kept chickens, which give you the best free range eggs and meat in the world. It&#8217;s awesome. They&#8217;ll eat kitchen scraps, they&#8217;ll do the weeding for you, they&#8217;ll churn up your garden as well. It&#8217;s really cool. And you have mice&#8230; But we have cats!</p>
<p>[interjection from audience member with friend who keeps chickens - they don't have a mouse problem, because the chooks get them]</p>
<p>Suburban gardens have a maximum chicken population though &#8211; and you can&#8217;t typically keep roosters, they annoy the neighbours.</p>
<p>So we always wanted some more space, and rural areas aren&#8217;t limited in this regard.</p>
<div><img class="alignnone  wp-image-232" title="More Backstory" src="http://ourobengr.com/wp-uploads/2012/12/img5.jpg" alt="" width="640" height="480" /></div>
<p>The final bit of backstory is that I spent years working mostly in offices in Melbourne and occasionally working from home. But since I got my job with SUSE (which has always been a remote working thing), and my wife is doing a PhD (which is mostly a work from home gig too), that meant that we could be anywhere we wanted to, provided we had internet access.</p>
<p><img class="alignnone  wp-image-233" title="Final Bit of Backstory" src="http://ourobengr.com/wp-uploads/2012/12/img6.jpg" alt="" width="640" height="480" /></p>
<p>Incredibly it turns out that Tasmania does, in fact, have internet access.</p>
<p>It was where the first <a href="http://nbnco.com.au/">NBN</a> rollout was (but only in three places, and none of those three places are where I am).</p>
<p>It has rural areas. It has loads of other lovely things.</p>
<p><img class="alignnone  wp-image-234" title="Tasmania" src="http://ourobengr.com/wp-uploads/2012/12/img7.jpg" alt="" width="640" height="480" /></p>
<p>There&#8217;s nice scenery, there&#8217;s good food, there&#8217;s art, there&#8217;s people. <a href="http://www.mona.net.au/">MONA museum</a> is possibly the reason that Hobart ended up on the Lonely Planet list of places to visit in 2013, and that&#8217;s really awesome if you can get down there and check that out.</p>
<p>One thing I will say about moving to Tasmania &#8211; don&#8217;t get the ferry there in winter, it&#8217;s a really bad idea. We went over, and coming into Devonport in the morning there were ten metre swells and we woke up in bed&#8230; airborne. Which is a little bit alarming.</p>
<p><img class="alignnone  wp-image-235" title="Ferry in Winter: Not Recommended" src="http://ourobengr.com/wp-uploads/2012/12/img8.jpg" alt="" width="640" height="480" /></p>
<p>But now a couple of years later we have two pigs&#8230;</p>
<p><img class="alignnone  wp-image-236" title="But Now..." src="http://ourobengr.com/wp-uploads/2012/12/img9.jpg" alt="" width="640" height="480" /></p>
<p>&#8230;there are several sheep (that one&#8217;s called &#8220;Bob the Rasta Sheep&#8221;)&#8230;</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-324 aligncenter" title="Bob the Rasta Sheep" src="http://ourobengr.com/wp-uploads/2012/12/bobthe-rasta-sheep-01-sm-225x300.jpg" alt="" width="225" height="300" /></p>
<p>&#8230;something like 40 chickens&#8230;</p>
<p><img class="alignnone size-medium wp-image-325 aligncenter" title="forty chickens" src="http://ourobengr.com/wp-uploads/2012/12/DSC00197-sm-300x200.jpg" alt="" width="300" height="200" /></p>
<p>&#8230;two cats&#8230;</p>
<p><img class="size-medium wp-image-326 aligncenter" title="one cat" src="http://ourobengr.com/wp-uploads/2012/12/IMG_2479-Cooper-600x400-300x200.jpg" alt="" width="300" height="200" /></p>
<p>&#8230;that&#8217;s the tough farm cat now&#8230;</p>
<p><img class="size-medium wp-image-327 aligncenter" title="tough farm cat" src="http://ourobengr.com/wp-uploads/2012/12/Max-the-forrest-cat-04-sm-225x300.jpg" alt="" width="225" height="300" /></p>
<p>&#8230;and we&#8217;re teleworking.</p>
<p><a href="http://twitter.com/piawaugh">Pia Waugh</a> tweeted about this the other week &#8211; saying that she thinks teleworking has become really overhyped and that it&#8217;s actually not hard to do, and the main problem is cultural change within an organisation &#8211; which i&#8217;m inclined to agree with.</p>
<p><img class="alignnone  wp-image-241" title="Pia - teleworking is overhyped" src="http://ourobengr.com/wp-uploads/2012/12/img14.jpg" alt="" width="640" height="480" /></p>
<p>We at OSDC presumably are already aware that teleworking works just fine, because most or all of the software that we use &#8211; or we work with &#8211; has been built by distributed teams anyway, so we&#8217;re good with that. And continuous supervision and in-person contact is not actually necessary to ensure productivity. If you are in management and you think that it is, then I&#8217;m really sorry, but you&#8217;re wrong. If you treat your staff like adults, they&#8217;ll behave like adults.</p>
<p><img class="alignnone  wp-image-242" title="On Teleworking" src="http://ourobengr.com/wp-uploads/2012/12/img15.jpg" alt="" width="640" height="480" /></p>
<p>There&#8217;s a book by Abraham Maslow &#8211; which is the Hierarchy of Needs guy &#8211;  from 1965, called Eupsychian Management, wherein he talks about this sort of thing &#8211; about treating people with respect and getting the best out of them, and there&#8217;s psychology and other stuff in there. He was ridiculed at the time, because in 1965 that wasn&#8217;t how management worked, but if you go and do a management training course with the Australian Institute of Management they will tell you &#8220;no, really, treat people like people and you&#8217;ll get good work out of them&#8221;.</p>
<p>And I think it can actually be more productive to work at home. I have had days like this working in an office, where you get in and there&#8217;s some people in the kitchen, so you have a coffee. For an hour and a half. And then you get to your desk, and you check your email, and then it&#8217;s lunchtime. And then you get back to your desk, and you finish checking your email. And you have another coffee, and then finally you manage to do an hour&#8217;s work before going home.</p>
<p><img class="alignnone  wp-image-243" title="On Office Working" src="http://ourobengr.com/wp-uploads/2012/12/img16.jpg" alt="" width="640" height="480" /></p>
<p>That&#8217;s&#8230; Well, the coffee&#8217;s probably good, or the coffee&#8217;s <em>hopefully</em> good if you&#8217;re spending that much time with it, but it&#8217;s not necessarily the most productive.</p>
<p>At home there might be different distractions. You might have to do the washing. If you have children &#8211; which I don&#8217;t &#8211; but that might be a distraction too. People who <em>do</em> have children have told me that it <em>is</em> a distraction, but I&#8217;ve tended to find that I can organize things so that I get the long unbroken slabs of time that you need to do good software development.</p>
<p>You probably have an office with a door that closes too, if you do have children, although that probably won&#8217;t stop them.</p>
<div>Teleworking does mean that you don&#8217;t see your coworkers very often. I do think it&#8217;s still important to actually meet the people that you work with, especially if you&#8217;ve never met them before. If you go into a remote working position and you haven&#8217;t met any of the team, it&#8217;s really valuable to get together with at least a few people, because you get a much better sense of a person very quickly when you meet them in person. Do you get on well? Sense of humour, these sorts of things &#8211; who you like working with &#8211; but as I said, you don&#8217;t need constant in-person contact to maintain these relationships. I meet some of my coworkers about once a year so far, I think. But it is good to get a bunch of people together from time to time, to do a workshop or something for planning stuff out over a couple of days or a week. And then you&#8217;ll all go away again.</div>
<div></div>
<div><img class="alignnone  wp-image-244" title="On Human Contact" src="http://ourobengr.com/wp-uploads/2012/12/img17.jpg" alt="" width="640" height="480" /></div>
<p>It turns out also that the government likes telework. The cumbersomely named Department of Broadband, Communications and the Digital Economy declared November 12-16 to be National Telework Week. There&#8217;s some details of this on <a href="http://www.telework.gov.au/">their web site</a>; they ran a whole lot of events, they encouraged people to work from home a couple of days that week.</p>
<p>I didn&#8217;t pay any attention at the time because I was on leave &#8211; I <em>was</em> at home but I <em>wasn&#8217;t</em> teleworking.</p>
<p><img class="alignnone  wp-image-245" title="The Government Likes Telework" src="http://ourobengr.com/wp-uploads/2012/12/img18.jpg" alt="" width="640" height="480" /></p>
<p>The web site reads a bit like a big advertisement for the National Broadband Network, because, well, it&#8217;s the same guys, and let me say: &#8220;Yay NBN!  Bring it on!  Especially if I don&#8217;t get stuck on satellite&#8221;. But they do seem to be a little bit fixated on video conferencing as their killer app, and Pia had something to say about that too, that teleworking is not actually videoconferencing, and that collaboration tools are far more important.</p>
<p><img class="alignnone  wp-image-246" title="Pia - collaboration tools are key" src="http://ourobengr.com/wp-uploads/2012/12/img19.jpg" alt="" width="640" height="480" /></p>
<p>And I thought about this and I realised that I actually haven&#8217;t done <em>any</em> video conferencing at all in my three or four years of doing this.</p>
<p>I have used &#8211; and use every day &#8211; IRC. Sometimes I&#8217;ve used Skype, although I try not to do that now because it&#8217;s creepy. Instant messenger programs, telephones (obviously), we have regular conference calls from time to time. There&#8217;s some interesting screen sharing and whiteboarding tools like <a href="http://en.wikipedia.org/wiki/Elluminate_Live">Elluminate</a>, where someone can demo something to somebody else, and you can all sort of talk to each other and chat at the same time. Things like etherpads. We also have company all-hands things over this internal tool which lets somebody show slides and everybody can hear the audio and ask questions via a chat. So those sorts of things&#8230;</p>
<p><img class="alignnone  wp-image-247" title="Collaboration Tools I've Used" src="http://ourobengr.com/wp-uploads/2012/12/img20.jpg" alt="" width="640" height="480" /></p>
<p>I also think that as <a href="http://twitter.com/skwashd">Dave Hall</a> pointed out, video conferencing is not necessarily always ideal.</p>
<p><img class="alignnone  wp-image-248" title="Dave has no pants" src="http://ourobengr.com/wp-uploads/2012/12/img21.jpg" alt="" width="640" height="480" /></p>
<p>I tend to think, actually, that video conferencing is much more of a social thing rather than a productivity tool. One of my colleagues outside of SUSE has a company where everybody works remote and what they do is pick a time and set up a Google+ hangout, and then they have a coffee break together. So they&#8217;re actually using this as a social thing. I&#8217;ve used Google+ hangouts, but only really for remotely attending the <a href="http://www.taslug.org.au/">Tasmanian Linux User Group</a> meetings when I couldn&#8217;t actually get there in person.</p>
<p>So if video conferencing isn&#8217;t really necessary, what things are?</p>
<p>I&#8217;m assuming that everybody here is probably familiar with most or all of these things because you probably already use them, and that goes back to Pia&#8217;s tweet about this technology already being here.</p>
<p><img class="alignnone  wp-image-249" title="Necessary Tools" src="http://ourobengr.com/wp-uploads/2012/12/img22.jpg" alt="" width="640" height="480" /></p>
<p>Email, some sort of group text chat, the ability to speak somehow, to collaboratively edit documents.</p>
<p>Trello &#8211; if you haven&#8217;t looked at it, <a href="http://trello.com/">trello.com</a> is really kind of cool for task management. It&#8217;s free. Joel Spolsky&#8217;s company made it, they&#8217;re trying to get a million users and then figure out how to make money off it later. It&#8217;s a list of lists &#8211; sort of like Kanban boards if you&#8217;ve ever done any of that stuff &#8211; you can have little tasks that you assign people to, and they can have checklists, and you can move them from the &#8220;doing&#8221; column to the &#8220;done&#8221; column to the &#8220;oh god oh god&#8221; column.</p>
<p>Bug tracking, revision control, obviously. And I think it&#8217;s also useful to have a means of venting when things aren&#8217;t working properly, and apparently that&#8217;s what Twitter is for.</p>
<p><img class="alignnone  wp-image-250" title="Catharsis" src="http://ourobengr.com/wp-uploads/2012/12/img23.jpg" alt="" width="640" height="480" /></p>
<p>That&#8217;s some of mine.</p>
<p>I don&#8217;t <em>use</em> Tracker! I don&#8217;t care! I don&#8217;t need desktop search! I <em>know</em> where I put everything already. I mean, y&#8217;know, that&#8217;s what &#8220;git grep&#8221; is for.</p>
<p>Um. Not that I&#8217;m bitter.</p>
<p>But speaking of revision control. Working remotely &#8211; I&#8217;m assuming loads of people are already using git or mercurial or whatever &#8211; you really do need a distributed version control system, because your net connection might be down. You might be travelling. It&#8217;s just easier to be able to work offline. And even if you&#8217;re not remote, again, to quote <a href="http://joelonsoftware.com/items/2010/03/17.html">Joel Spolsky</a>, &#8221;if you are using Subversion, stop it. Just stop. Subversion = Leeches. Mercurial and Git = Antibiotics. <em>We have better technology now.</em>&#8221;</p>
<p><img class="alignnone  wp-image-251" title="On Revision Control" src="http://ourobengr.com/wp-uploads/2012/12/img24.jpg" alt="" width="640" height="480" /></p>
<p>Speaking of broken things &#8211; being stuck on satellite is probably really bad. I use a VPN for various things &#8211; to access systems &#8211; and unless they&#8217;re building satellites a lot closer to Earth now, the latency is still going to be a real problem for that sort of traffic.</p>
<p>Power outages tend to be more common in rural areas, so having a decent UPS is really important. According to my logs I&#8217;ve had about six outages in the last year for long enough that I actually wanted to shut everything down. It might have only been half an hour or an hour or two, but it&#8217;s, y&#8217;know&#8230; And plenty more where there&#8217;ve been little brownouts or drops or whatever.</p>
<p>It&#8217;s just a good idea. My UPS is a 1000VA APC thing that I got years ago actually, and it&#8217;s got two desktop systems, one LCD, one old server, two Mac Minis, an ancient Pentium (which is a firewall), two ethernet switches, a DSL modem, a wireless access point and my laptop hanging off it (which is a bit silly because my laptop has a battery). It purports to be about 57% loaded and it will run all of that gear for about nine minutes, which is completely fine for any little odd glitches and it&#8217;s certainly long enough to cleanly shut everything down if the power goes.</p>
<p><img class="alignnone  wp-image-252" title="Speaking of Broken Things" src="http://ourobengr.com/wp-uploads/2012/12/img25.jpg" alt="" width="640" height="480" /></p>
<p>The other interesting thing, and why that last point is on the slide, is we&#8217;re on tank water. Our tank water feeds into our house via a mains powered electric pump &#8211; we don&#8217;t have running water if the power goes out. So it is useful to keep beer handy so you&#8217;ve got something to drink in case there&#8217;s a power outage.</p>
<p>Side point &#8211; the toilets and the garden hose are from a gravity-fed dam, so they&#8217;re OK, and in theory if there&#8217;s a fire we can still use the garden hose. Unless the fire gets the poly pipe that comes from the dam, so&#8230; Anyway.</p>
<p>My list of gear that I&#8217;ve got is kind of large. I&#8217;ve had lots of this stuff for ages. I run my own mail server and do some other things which are independent of the work I do anyway, so minimally I think to work remotely all the time I would really want to have a laptop &#8211; because &#8220;laptop!&#8221; &#8211; I have something I can take with me when I travel&#8230; For email, whatever. A desktop system as well that has lots more CPUs and lots more RAM and lots more disks, so that I can spin up virtual machines and do builds and everything. External hard disk for backups, for mirroring software. I&#8217;ve got about 36GB of SUSE Linux mirrored locally because this makes it a hell of a lot quicker if I&#8217;m doing lots of test VM deployments and testing bare-metal deployment. (Is it bare metal if you&#8217;re doing it to a VM?  No. Virtual-metal?)  So, it took a while to get that 36GB of mirror in the first place. I am actually on ADSL &#8211; it&#8217;s about full speed ADSL1 &#8211; but there&#8217;s a nightly rsync run that keeps that up to date now. And the other thing, obviously, is the UPS.</p>
<p><img class="alignnone  wp-image-253" title="Minimal Equipment" src="http://ourobengr.com/wp-uploads/2012/12/img26.jpg" alt="" width="640" height="480" /></p>
<p>Interacting with teams I&#8217;ve found tends to vary based on the team and the work. The teams that I work with are all used to working in a distributed fashion though &#8211; we have offices in a few places around the world where there&#8217;s large concentrations of engineers, but we also have a bunch of people who work remotely, and so we&#8217;re used to using all of these tools and having con-calls and whatnot.</p>
<p><img class="alignnone  wp-image-254" title="Interaction with Teams" src="http://ourobengr.com/wp-uploads/2012/12/img27.jpg" alt="" width="640" height="480" /></p>
<p>My work on the HA team tends to be a bit more solo. It&#8217;s mature software, the responsibilities tend to be split kind of along package lines, and so we might spend some time with feature tracking tools, and calls and email to sort out what we&#8217;re all going to do next, but then we can all kind of go away and hack on stuff for as long as it takes, then all come back together and do integration testing or whatever.</p>
<p>Work on SUSE Cloud was a much more agile kind of thing, there were two week sprints, it was a new product, teams with people from a few places, we had a couple of status calls once or twice a week for half an hour, we kept very active with each other on IRC, and that was actually a lot of fun. A very sort of fluid, interactive experience.</p>
<p>Time zones haven&#8217;t tended to be too much of a problem because I&#8217;m within about ten or twelve hours of everybody, so if I work from the afternoon into the evening that overlaps with the European morning, so there&#8217;s scope for having calls at that time. It&#8217;s a real pain if you have to wait 24 hours for an email where you just say &#8220;where&#8217;s the source for X?&#8221;</p>
<p>Another thing that we do is we have these little weekly reports that get sent round to a slightly broader team. It&#8217;s not particularly formal, it&#8217;s just a list of what you&#8217;ve been doing to kind of keep everybody up to speed with what&#8217;s going on. We split this into red, amber and green sections. Red is &#8220;oh god oh god we&#8217;re all gonna die&#8221;, amber is &#8220;oh god oh god we&#8217;re all gonna die <em>soon</em> unless somebody fixes this thing&#8221; and green is just &#8220;I fixed this bug, I was working on this thing, I&#8217;m waiting for this, what have you&#8221;, and hopefully all of your status reports are green all the time. That&#8217;s good.</p>
<p><img class="alignnone  wp-image-255" title="Weekly Reports" src="http://ourobengr.com/wp-uploads/2012/12/img28.jpg" alt="" width="640" height="480" /></p>
<p>And quite apart from keeping other people informed of what you&#8217;re doing, I think it would be useful to do this sort of thing personally, actually, from week to week anyway, because it can help to keep you on track. If you realise that you&#8217;ve sort of written &#8220;still working on this&#8221;, &#8220;still working on this&#8221;, &#8220;still working on this&#8221;, you know, once a week, you might want to take a step back and go &#8220;Why am I still working on this? What&#8217;s not going right here?&#8221; So that&#8217;s good.</p>
<p>But my week is Monday to Friday. I don&#8217;t work nine to five, but I do a forty hour week, or that&#8217;s what I&#8217;m meant to do. Sometimes I do more, possibly too often I do more, but that&#8217;s the idea. Sometimes I do less.</p>
<p>My optimal day would be something like this; get up, have a shower, meditation &#8211; I&#8217;ve found if you can regularly sit down for fifteen minutes and completely empty your mind (which is harder than it sounds) it can help with sanity and productivity and focus. Then we feed the chickens, and pigs. Breakfast, coffee. These things my wife and I mix up between us. Anything else that needs doing &#8211; if you need to go to the shop or whatever &#8211; and then hopefully you can sit down and do just a nice solid eight hours of work, with a break for lunch in the late afternoon, probably, and more animal feeding. Then later you stop, slack off, do whatever it is you want to do with the rest of your life, go to bed.</p>
<p><img class="alignnone  wp-image-256" title="Optimal Day" src="http://ourobengr.com/wp-uploads/2012/12/img29.jpg" alt="" width="640" height="480" /></p>
<p>I don&#8217;t always have optimal days. But that&#8217;s what I strive for.</p>
<p>Some days I&#8217;ve had days where I couldn&#8217;t focus and I just had to stop and give up and go away, and other days I have done monstrous twelve or fourteen hour hacking sessions where I somehow got three days worth of work done all at once.</p>
<p><a href="http://theoatmeal.com/comics/working_home"><img class="alignnone  wp-image-257" title="Pessimal Day" src="http://ourobengr.com/wp-uploads/2012/12/img30.jpg" alt="" width="640" height="480" /></a></p>
<p>But it&#8217;s OK. If you keep track of time it&#8217;ll all balance out, right?</p>
<p>It helps to have separate space to help with keeping your focus when you&#8217;re at work, and to help you not thinking about work things when you don&#8217;t want to be. My father had a colleague who worked from home years ago, and he would get up in the morning and put on a suit and tie and then he&#8217;d go into his home office and he would sit there and he&#8217;d do his work, and when he finished he&#8217;d take his suit and tie off and that&#8217;s how he knew that he was home again. Even though he never left the building. And this worked for him.</p>
<p>I&#8217;ve managed to create&#8230; Two very badly resized photos <img src='http://ourobengr.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><img class="alignnone  wp-image-258" title="But It's OK" src="http://ourobengr.com/wp-uploads/2012/12/img31.jpg" alt="" width="640" height="480" /></p>
<p>I&#8217;ve got two offices &#8211; one on either side of the hall &#8211; and one of them&#8217;s my &#8220;work home office&#8221; and one of them&#8217;s my &#8220;home home office&#8221;, and on the weekends the curtains are shut and the lights are off in the work office, which means if I want to do something on the computer I&#8217;m not accidentally checking my work email. It would actually require volition to go into that other room and turn things on, so that&#8217;s good.</p>
<p>But I do spend lots of time in front of the computer, and I think it&#8217;s important to have balance there too, because too much time in front of the computer is no good for your heath. So what better thing to do than stop for a sunset or something, or go hike up the back, or actually sit down with your animals for half an hour and talk to them. Sit down at their level and you get a really different sense of a creature when you experience the world from the height that it looks at it from. It&#8217;s interesting.</p>
<p><img class="alignnone  wp-image-259" title="Staying Sane" src="http://ourobengr.com/wp-uploads/2012/12/img32.jpg" alt="" width="640" height="480" /></p>
<p>Dig in the garden, or learn new skills. This is a quote which I&#8217;m fond of from a Robert Heinlein book.</p>
<p><img class="alignnone  wp-image-260" title="On Skills" src="http://ourobengr.com/wp-uploads/2012/12/img33.jpg" alt="A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyse a new problem, pitch manure, programme a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. -- Robert Heinlein, Time Enough for Love" width="640" height="480" /></p>
<p>And I like this quote because it gives you something to aim for. I&#8217;m assuming most people here actually have several of these things. I imagine that computer programming is going to be fairly high up there on the list. I&#8217;ve got about twelve, and some of those I wouldn&#8217;t have if we weren&#8217;t doing this farming thing. Design a building for instance &#8211; we&#8217;ve built chicken houses and pig houses that are quite sturdy and don&#8217;t fall down. I suspect that our pig house will outlast <em>me</em>. Pitch manure is fairly obvious. I&#8217;ve also worked with several types of hay, and this has led me to the conclusion that whomever coined the term &#8220;go for a roll in the hay&#8221; was completely insane.</p>
<p>I do not yet know how to butcher a hog, but ask me again in a week or two. I <em>do</em> know how to do chickens.</p>
<p>It occurred to me that farming is kind of like software hacking, if you tilt your head sideways and squint at it just right, or more to the point, some of the skills translate.</p>
<p><img class="alignnone  wp-image-261" title="Farming is (kinda) like Software Hacking" src="http://ourobengr.com/wp-uploads/2012/12/img34.jpg" alt="" width="640" height="480" /></p>
<p>If you&#8217;ve ever worked on any long term project that&#8217;s been dependent on somebody else to deliver something at a certain time, well there&#8217;s putting crops in at the right time. Figuring out how much water you&#8217;ve got, or need, or problem solving abilities. Why are my corn cobs really tiny?  Because it was too windy where they were planted and we won&#8217;t put them there next time.</p>
<p>And the tolerances aren&#8217;t as fine. If you&#8217;re developing software &#8211; if you&#8217;re developing<em> quality</em> software, you want things to be exact, right? You want them to be absolutely right. Because you can <em>have</em> boolean true and false in software development and math.</p>
<p>In real life, things don&#8217;t actually need to be perfectly square in order for them to function properly, for a long time.</p>
<p>It is important to have more than one pair of boots&#8230; I had to buy new boots for this conference because my previous dress boots (which are also steelcap workboots) are covered in mud and full of water at the moment, so, more boots.</p>
<p>It&#8217;s really a bit more like hardware hacking though, because you&#8217;re actually building physically manifest objects and interacting with the real world &#8211; housing, fences, what have you.</p>
<p><img class="alignnone  wp-image-262" title="Farming is (more) like Hardware Hacking" src="http://ourobengr.com/wp-uploads/2012/12/img35.jpg" alt="" width="640" height="480" /></p>
<p>Sometimes these projects involve electricity. Sometimes lots of electricity &#8211; like electric fences which run at somewhere between 3,000 and 6,000 volts. Not a lot of current, but you&#8217;ll know about it. I mentioned I&#8217;ve had more power outages since going rural. Perhaps this balances out &#8211; I&#8217;ve also been electrocuted more times, by the fence.</p>
<p style="text-align: left;">And it&#8217;s also a good excuse to buy more power tools, because power tools are great, and I&#8217;m sure that you can integrate <a href="http://www.arduino.cc/">Arduinos</a> into this somewhere. We have an unfinished project to make a little Arduino-based light and temperature sensor which would record the light level off an LDR over time and then if we could put these around the garden in different places, and then look at that, you could figure out which spots are warmer or get more light, and figure out optimal planting perhaps.</p>
<p>I would suggest not doing this solo. People have asked me from time to time what&#8217;s it like working from home all the time and not seeing many people very often, and I said that if I lived by myself I would probably be crazy by now (or crazier).</p>
<p><img class="alignnone  wp-image-263" title="But Don't Do It Solo" src="http://ourobengr.com/wp-uploads/2012/12/img36.jpg" alt="" width="640" height="480" /></p>
<p>If my wife wasn&#8217;t at home looking after animals, I wouldn&#8217;t have been able to be here for this conference. The sheep would be OK, because they only need grass (provided there&#8217;s lots of it). The pigs and chickens would run out of food after a day or two. We can put enough food out for the chickens in their house for two or three days if we wanted to go away for a weekend &#8211; unless we wanted to go away for a weekend to Melbourne on the week that the volcano in Chile erupted and then we got trapped in Melbourne and had to get our friend to go over to our house to help with that. [audience: just hypothetically?] Just hypothetically speaking.</p>
<p>The work&#8217;s easier and more fun if there&#8217;s more than one of you, and food or produce that you grow yourself &#8211; like most of the rest of life &#8211; it&#8217;s always better when you&#8217;ve got someone to share it with.</p>
<p>I don&#8217;t think that there&#8217;s any reason that it has to be a couple doing this. I think a rural geek sharehouse / hackerspace kind of thing would be totally awesome. If a whole lot of tech people wanted to get together and do something that&#8217;d be a lot of fun.</p>
<p><img class="alignnone  wp-image-264" title="Other Human Contact" src="http://ourobengr.com/wp-uploads/2012/12/img37.jpg" alt="" width="640" height="480" /></p>
<p>Human contact&#8230; Weirdly, since working remote, I&#8217;ve probably met more different people now that I work further away from everybody, because I&#8217;ve somehow become much more involved in local user groups, or coming to conferences or these sorts of things, and there&#8217;s other interesting community stuff as well. We spent one evening a couple of months ago hanging out with our local volunteer fire brigade while they did a controlled burn of somebody&#8217;s property, which was interesting, educational and completely terrifying.</p>
<p>Because I have never seen a bushfire up close, and this was a controlled burn&#8230; They&#8217;ve got this area here with two trucks with water, they&#8217;ve got fire sticks that go along and you get a straight line with one of these &#8211; it&#8217;s burning liquid of some description &#8211; if you get a straight line with this, the fire&#8217;s going to go one way, or it&#8217;s going to go the other &#8211; it&#8217;s not going to go crazy, it&#8217;ll go that way and eat up everything behind it and it dies out surprisingly quickly. But it goes up <em>that high</em> [gestures wildly at ceiling], like&#8230; um&#8230; Ever seen one of those blasted-out areas in World of Warcraft? Where it&#8217;s like, flaming and black, right? It&#8217;s like a <em>real</em> one of them! And yeah, we put out the edges and everything, we were out there for a couple of hours, but yeah, that was an experience.</p>
<p>So, I&#8217;ll summarize over a few slides. The benefits if you&#8217;re thinking of going rural &#8211; the benefits of doing something like this; clean air, scenery, the best free range produce in the world. And you know that there&#8217;s no pesticides, because you didn&#8217;t use them. And you know that it&#8217;s free range and the animals had a good life, because you let them out to roam. You learn interesting and useful skills. You get bonus time through lack of commuting.</p>
<p><img class="alignnone  wp-image-265" title="Summary: The Benefits" src="http://ourobengr.com/wp-uploads/2012/12/img38.jpg" alt="" width="640" height="480" /></p>
<p>My parents came and stayed and we showed them our animal feeding regimen. If you do the whole thing &#8211; feed three lots of chickens and replace all their water, and you feed the pigs, and you check all of the electric fence because the grass is growing up to it and shorting it out so it doesn&#8217;t work as well &#8211; that takes about an hour, and it was pointed out that that&#8217;s a fair amount of time. But I could be spending an hour commuting, and I&#8217;d much rather be spending an hour with my animals. So you can kind of try to engineer your life so that it has the shape that you want.</p>
<p>Things to consider though before doing something like that &#8211; if you&#8217;ve never worked remotely before, do you actually like it? I think it would be valuable to work remote from home in your <em>regular</em> home for a while to see if it&#8217;s going to work for you before you up stumps and go somewhere else. Is your work easily remotable? Large bits of software development might be, but if you&#8217;re particularly client facing they might not be and you might suddenly need to do a lot of travel, so how much of that do you want to do?</p>
<p><img class="alignnone  wp-image-266" title="Summary: Things to Consider" src="http://ourobengr.com/wp-uploads/2012/12/img39.jpg" alt="" width="640" height="480" /></p>
<p>I think it&#8217;s really important to figure out the comms problem <em>before</em> you go, because we&#8217;ve been looking around at other bits of land and looking at <a href="http://www.adsl2exchanges.com.au/">adsl2exchanges.com.au</a> to find out where things are. They&#8217;re 7km away and if you ring up Telstra they&#8217;ll go &#8220;Oh, yeah we can get, yeah, yeah, there&#8217;s ports on that exchange, no worries&#8221;. It&#8217;s <em>not</em> going to work. <em>At all</em>. You&#8217;ll probably be on pair gain or something horrible. You could probably get a free (or heavily discounted) satellite thing on the NBN interim satellite program, but the latency&#8217;s going to suck if you&#8217;re using a VPN. That will work over 3G though, so it might be interesting if you had a satellite and a 3G dongle to route your web traffic (or whatever the satellite can fake into working quickly, or appearing to work quickly) over the satellite, and routing your VPN or interactive SSH over the 3G thing. And I do think that wireless technology is only going to get better over time, but it&#8217;s definitely something you need to figure out. Because if we didn&#8217;t have our internet connection, I couldn&#8217;t do my job. Well, I could do it for a while, but eventually I&#8217;ve done enough with git and I actually have to access the bug tracker, so you need comms at some point.</p>
<p>[audience: what kind of line of sight options do you have?]</p>
<p>Where I am, I can look down towards the Huon Valley, so I&#8217;ve got a big open space in front of me, and I can see a cell tower up there too. There&#8217;s a company called <a href="http://www.tasmanet.com.au/">TasmaNet</a> - they&#8217;re actually building a data centre for something completely unrelated, for putting big servers and things in Hobart somewhere &#8211; but they do that sort of wireless tech for people in that area, and if they&#8217;ve got a tower up and you can get line of sight to it, you can get for a hundred and something dollars a month, a couple of megabit synchronous, with a cap of half a dozen gig maybe. I&#8217;m not sure what happened if you hit the cap. They&#8217;re billing that as business grade internet for a rural area and they have a lot of people &#8211; tradies or whatever &#8211; who will remotely access their MYOB system in their home area somehow through this thing as well. So there&#8217;s stuff around, but you might have to go and look for it. I did see a case study on the NBN web site from somebody who used to work for Google, who then moved to somewhere out in the sticks, who&#8217;d just got the NBN wireless up and the receiver was quite a distance away behind some trees that might need pruning in the future, but right now he&#8217;s getting 14 megabit and he&#8217;s very happy about it. Obviously that&#8217;s a good story, because it would be, being a case study on the NBN web site, but this tells me there&#8217;s hope.</p>
<p>The last point there&#8230; I used to work with a guy, somebody asked him how he felt about gardening, or what he&#8217;d like in a garden, and his answer was &#8220;does it prune itself?&#8221; This is probably not the life for him.</p>
<p><img class="alignnone  wp-image-267" style="color: #333333; font-style: normal; line-height: 24px;" title="Summary: Solutions to Problems" src="http://ourobengr.com/wp-uploads/2012/12/img40.jpg" alt="" width="640" height="480" /></p>
<p>Solutions to problems.</p>
<p>If there aren&#8217;t enough people in your life, get involved with some. There&#8217;s loads of them around. Hi guys! [waves at audience]</p>
<p>Having good kit, a UPS, local mirrors of software is important. Good collaboration tools that everybody&#8217;s happy using, and knows how to use. Some sort of backup internet connection &#8211; I&#8217;ve got a little wireless thingy in case the DSL goes down, or I want to go somewhere else. A 3G or 4G thing.</p>
<p>It&#8217;s nice to know where you can find an internet cafe nearby if you want to go and do that for a while, or if something breaks.</p>
<p>Other things you can do &#8211; consider making extra personal space like I managed to do with my offices. There are coworking spaces around where you can go and be in another place with other likeminded people, even if you&#8217;re not working on the same stuff. Get out and about &#8211; make sure you go out and have a meal or something once in a while or you get &#8220;I&#8217;ve been trapped in the house for three weeks&#8221;.</p>
<p><img class="alignnone  wp-image-268" title="Summary: Other Tweaks" src="http://ourobengr.com/wp-uploads/2012/12/img41.jpg" alt="" width="640" height="480" /></p>
<p>And I&#8217;ve found that it&#8217;s kind of important to find somebody who <em>doesn&#8217;t</em> telework to remind you when the public holidays are, because I would never know. And I would never take those days off if somebody didn&#8217;t tell me.</p>
<p>But, even if you never work remote I would encourage everybody to go and get chickens.</p>
<p><img class="alignnone  wp-image-269" title="Even if You Never Work Remote" src="http://ourobengr.com/wp-uploads/2012/12/img42.jpg" alt="" width="640" height="480" /></p>
<p>Because, if you&#8217;ve got a garden (it&#8217;s no good if you&#8217;re in a flat &#8211; it&#8217;s not free range) they&#8217;re great fun, they&#8217;re lovely, they&#8217;ll get you out of the house, they&#8217;ll make wonderful eggs for you, they&#8217;ll dig in your garden. It&#8217;s like I said, we&#8217;ve kept chickens for ten years, it&#8217;s cool, it&#8217;s good.</p>
<p>And that&#8217;s about it actually, but I&#8217;ll finish on a slightly less terrifying slide.</p>
<p><img class="alignnone  wp-image-270" title="little chicks" src="http://ourobengr.com/wp-uploads/2012/12/img43.jpg" alt="" width="640" height="480" /></p>
<p>These are our newest additions. There&#8217;s sixteen little chicks there. These are from fertile eggs we got sent over from Western Australia, so that next year we can breed this lot with our lot, so that we increase genetic diversity within the area. Because Barnevelder chickens &#8211; which is what we&#8217;ve got &#8211; in Tassie, they all came from one guy or&#8230; Y&#8217;know&#8230; [interjection from audience - one chicken?].</p>
<p>I&#8217;ll finish on this one actually, &#8217;cause they&#8217;re going into their house.</p>
<p><img class="alignnone  wp-image-271" title="little chicks going into house" src="http://ourobengr.com/wp-uploads/2012/12/img44.jpg" alt="" width="640" height="480" /></p>
<p>Thank you!</p>
<h1>Questions</h1>
<p>There were several questions from the audience, which I&#8217;ll paraphrase here, again for the sake of clarity.</p>
<h2>How do you market yourself?  Do you have to go see lots of people?</h2>
<p>I&#8217;m not exactly certain what is meant by &#8220;market yourself&#8221;, but I am in a position where most of my work doesn&#8217;t actually involve being physically present with other people most of the time. If you are working remote, consider how much time you might need to spend travelling if you <em>do</em> need to spend a lot of time face to face. If I had to travel every week to go and meet people, I probably wouldn&#8217;t want to be doing this because it would be too much strain for me personally.</p>
<h2>What kind of online learning resources have you found, and are you blogging about this?</h2>
<p>I haven&#8217;t done any blogging about it which is probably rather remiss of me. I guess this transcript is a start. I didn&#8217;t have any links handy when the question was asked, but the three I thought of later are:</p>
<ul>
<li><a href="http://chooknet.com.au/">ChookNet</a> &#8211; forums, classifieds, whatnot.</li>
<li><a href="http://www.appropedia.org/Welcome_to_Appropedia">Appropedia</a> - sustainability, appropriate technology, poverty reduction (I should really try to contribute to this myself in my Copious Free Time).</li>
<li style="text-align: left;"><a href="http://www.amazon.com/Encyclopedia-Country-Living-Carla-Emery/dp/1570615535">The Encyclopedia of Country Living</a> - actually a book, so not online, but this book is how I learned to butcher chickens. It&#8217;s awesome. Everyone should get a copy. There&#8217;s also the <a href="http://www.carlaemery.com/">author&#8217;s web site</a>, although sadly she passed away in 2005.</li>
</ul>
<h2>Are you worried someone in, say, the Ukraine might be willing to do the same remote job, but for less money?</h2>
<p>My initial facetious answer was that I&#8217;m not personally worried about that, because I live in a happy land (although someone later pointed out that this is actually not a bad philosophy).</p>
<p>Comments from the audience included the point that everyone has this problem (not just me working remote), and that we&#8217;re software developers, and we develop a reputation for doing good work, so will tend to become desirable.</p>
<p>My more considered answer, using high availability as an example, is that there&#8217;s a relatively high barrier to entry to doing the work I do, because there is a lot to learn. Someone pointed out a couple of years ago that it&#8217;s difficult to find people who know the Linux HA software stack, because everyone with those skills is already employed by somebody.</p>
<h2>On learning new skills &#8211; you didn&#8217;t mention making cheese!</h2>
<p>Cheese is on my personal list &#8211; I should have mentioned that &#8211; but I haven&#8217;t done it yet. Someone pointed out that <a href="http://twitter.com/arjenlentz">Arjen Lentz</a> makes cheese, so he&#8217;d be worth talking to about that.</p>
<h2>How does working for an overseas company work (tax, workcover, etc.)?</h2>
<p>I work for SUSE, which is headquartered in Germany, but I&#8217;m legally an employee of Novell Australia, at least for salary and taxation purposes, so that&#8217;s easy in my case. It&#8217;s effectively no different than working a salaried job for any other Australian company.</p>
<p>If I were being paid directly by an overseas entity with no Australian presence, the least worst thing to do would probably be to have my own company set up, which then invoiced the overseas entity, and in turn paid me a salary and took care of tax and whatnot.</p>
<p><span style="color: #000000; font-weight: bold;">Addenda</span></p>
<p>As this is a transcript, I naturally have the liberty of expanding on a few things:</p>
<ul>
<li>When I mentioned my optimal day, I said &#8220;later you stop, slack off, do whatever it is you want to do with the rest of your life&#8221;, and something about &#8220;keeping your focus when you&#8217;re at work&#8221;. This should not be misconstrued to mean I want my life split into work plus everything else &#8211; that would contradict my earlier statement regarding my loathing of the term &#8220;work/life balance&#8221;. Rather this should be interpreted to mean that your brain needs downtime after hacking &#8211; like in The Matrix, when Choi said to Neo &#8221;Hey, it just sounds to me like you need to unplug, man. You know, get some R&amp;R?&#8221;.  I tend to find that I sleep better if I have at least an hour or two away from the computer before bed, for example.</li>
<li>Regarding using Google+ hangouts for coffee breaks, I have it on good authority that my aforementioned colleague actually uses G+ hangouts for rather more than just coffee, given the various collaboration tools Google provides. But really I think this just supports my argument that collaboration tools are key, as opposed to the notion that video conferencing is what makes telework work.</li>
<li>On TasmaNet, their pricing and web site seems to have changed a fair bit since the figures I mentioned in my talk entered my brain. AFAICT the price seems to be a bit higher than I remember.</li>
<li>The guy I mentioned who has NBN wireless is Scott Weston, whose story can be found on the <a href="http://nbnco.com.au/blog/connected-to-nbn-fixed-wireless-what-its-like.html">NBN blog</a>. Apparently he&#8217;s actually getting 12Mbps, not 14Mbps, but that still sounds pretty good to me, although upload is only 0.5Mbps, which is a bit rough.</li>
<li>In case it&#8217;s not abundantly clear, everything here is my personal opinion and/or experience, and should not be taken as any form of statement on behalf of SUSE.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2012/12/how-to-stay-sane-and-productive-while-hacking-foss-on-a-farm/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cloud Infrastructure, Distributed Storage and High Availability at LCA 2013</title>
		<link>http://ourobengr.com/2012/10/cidsha-lca2013/</link>
		<comments>http://ourobengr.com/2012/10/cidsha-lca2013/#comments</comments>
		<pubDate>Sun, 30 Sep 2012 14:28:29 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[ha]]></category>
		<category><![CDATA[lca2013]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://ourobengr.com/?p=219</guid>
		<description><![CDATA[I&#8217;m pleased to announce that we will be holding a one day Cloud Infrastructure, Distributed Storage and High Availability mini conference on Monday 28 January 2013 as part of linux.conf.au 2013 in Canberra, Australia. This miniconf is about building reliable infrastructure, &#8230; <a href="http://ourobengr.com/2012/10/cidsha-lca2013/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce that we will be holding a one day <a href="http://lca2013.linux.org.au/schedule/30073/view_talk">Cloud Infrastructure, Distributed Storage and High Availability mini conference</a> on Monday 28 January 2013 as part of <a href="http://lca2013.linux.org.au/">linux.conf.au 2013</a> in Canberra, Australia.</p>
<p>This miniconf is about building reliable infrastructure, from two-node HA failover pairs to multi-thousand-core cloud systems. You might like to think of it as a sequel to the <a href="http://lca2012.linux.org.au/wiki/index.php/Miniconfs/HighAvailabilityAndDistributedStorage">LCA 2012 High Availability and Distributed Storage miniconf</a> (<a href="http://www.youtube.com/playlist?list=PLE70D0FFF98BC9579">videos here</a>).</p>
<p>Do any of the following describe you?</p>
<ul>
<li>You&#8217;re building cloud infrastructure for others to use (openstack, cloudstack, eucalyptus, &#8230;)</li>
<li>Your data needs to be reliably available everywhere (ceph, glusterfs, drbd, &#8230;)</li>
<li>Your system absolutely must be up all the time (pacemaker, corosync, &#8230;)</li>
</ul>
<p>If so, this is the miniconf for you! Please consider submitting a presentation at <a href="http://tinyurl.com/cidsha-lca2013">http://tinyurl.com/cidsha-lca2013</a></p>
<p>We&#8217;re expecting most talk slots to be 25 minutes (including questions and changeover), but there will be openings for shorter lightning talks and maybe a couple of longer talks. CFP closes on Sunday November 4, 2012. Notifications of acceptance will be emailed out after this date.</p>
<p>Note that there is also an <a href="http://lca2013.linux.org.au/schedule/30100/view_talk?day=tuesday">OpenStack-specific miniconf</a> running on Tuesday 29 January. We&#8217;re hoping this will give us a pretty awesome two-day LCA 2013 CloudFest. As a rough rule of thumb, more generic or infrastructure-related talks should go to Cloud, Distributed Storage &amp; HA, while deeper OpenStack-specific talks should probably go to the OpenStack miniconf. If in doubt, or if you have any other questions, please <a href="mailto:tserong@suse.com">contact me directly</a>.</p>
<p>Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://ourobengr.com/2012/10/cidsha-lca2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
