Where to buy bitcoin in Australia

This past week the Bitcoin drop hit the headlines quite a few times. China's ICO regulation announcement caused quite the stir and opening the opportunity for many spectators to jump in.

However purchasing bitcoin in Australia is not as simple as that. The past week I went through three of the most popular options. Jumped through the loops of identity verification and played the waiting game hoping the prices won't shoot up again while my bank deposit took place.

Independent Reserve

Independent Reserve is a popular exchange. They allow trading in multiple AUD pairings as well as USD and NZD.

The best thing about Independent Reserve is their verification and purchase time, I was able to verify and place an instant order with Poli in less than 1 hour. Unlike Cointree, your poli payments allow you to withdraw the Bitcoin you purchase immediately.

This was my biggest savior as it allowed me to withdraw my funds straight away into exchanges like Bitrex or Binance and get back to trading.

Their support is definitely amazing, I was able to increase my account limits within less then 1 hour.

If you want to buy in NOW then these guys are the best choice considering the speed of ID verification and payment. Kudos to them.

If you decide to use the Independent Reserve, please checkout with my referral code https://www.independentreserve.com?invite=WJPMJN


BTCMarkets is an exchange where you place buy and sell orders for the amount of bitcoin you want to buy. They currently have a number of pairings like Bitcoin, Ethereum, Litecoin and Monero.

They charge a 0.85% sliding commission which means the more you trade the lower the commission. Depositing funds is done through Poli and Bpay.

BTCMarkets seems to be the most popular with multiple trades happening every minute so you are not left there waiting for your buy order to be fulfilled (assuming you place a reasonable request).

I saw a large volume of orders ranging from $200 all the way up to $100k+ so it's definitely not a small time exchange.

Their support is however an absolute let down. Prepare to wait days for a unhelpful response. My poli deposit has taken almost a whole week and is still pending. There are lots of complaints on their Facebook page about slow payments too.

If you wish to get in quick BTCMarkets is not the option as their verification process will take up to 10 days as they opt to send you a letter in the mail for ID verification. Once you're in though, the trade volume is definitely looks good.


Unlike the other two options, Cointree only allows you to buy at the "market" price. You must put faith in their business model where they promise to find you the best possible price.

They charge a 3% commission which can be quite high if you plan on purchasing a large amount.

Cointree's payment model is not very comforting as you will be required to place an order without knowing exactly how much you are getting in return.

Cointree has three payment methods:

  • Bank transfer payments (with a limit of $500?!) can take up to 2-3 days, so you must wait and pray that the price does not fluctuate too much.
  • Their Poli payment option is "instant" so you are able to purchase at their current rate, however your Bitcoin is locked in their account for 1-2 days until the funds clear.
  • Their over the counter deposit at NAB bank allows you to deposit up to $5,000 and they claim it takes about 30 minutes for the confirmation.

If you simply want to buy Bitcoin without worrying about the price, then Cointree will be the best option for you.

If you understand the bitcoin market then their business model may not be the best fit for you. For example, I put through 1 bank transfer order during the dip, however by the time it took for my funds to clear I ended up purchasing at a higher rate. My poli transfer was "instant" but locked in the account for 2 days, not allowing me to withdraw the funds and trade in the exchanges. (This was depressing). This is unlike independent reserve who let you buy and withdraw instantly.

Cointree support seems to be very responsive, live chat is always online however I found to be rather rude and unhelpful.

If you do decide to end up using Cointree please use my referral link https://www.cointree.com.au/?r=3300

In summary, if you want the best price and just to rely on someone, use the Cointree Poli instant payment. That way you can lock in a price which is generally slightly lower than other vendors. Don't bother with their Bank Transfer or you will take the risk of a price hike like I did.

Use Independent Reserve if you want quick bitcoin to take to the exchanges.

As always, DYOR and good luck!

Script for creating EBS persistent volumes in OpenShift/Kubernetes

If you aren't using the automated dynamic volume provisioning (which you should!). Here is a short bash script to help you automatically create both the EBS volume and Kubernetes persistent volume:


if [ $# -ne 2 ]; then  
    echo "Usage: sh create-volumes.sh SIZE COUNT"

for i in `seq 1 $2`; do  
  vol=$(ec2-create-volume --size $size --region ap-southeast-2 --availability-zone ap-southeast-2a --type gp2 --encrypted | awk '{print $2}')

  echo "
  apiVersion: v1
  kind: PersistentVolume
      failure-domain.beta.kubernetes.io/region: ap-southeast-2
      failure-domain.beta.kubernetes.io/zone: ap-southeast-2a
    name: pv-$vol
      storage: $size
      - ReadWriteOnce
      fsType: ext4
      volumeID: aws://ap-southeast-2a/$vol
    persistentVolumeReclaimPolicy: Delete" | oc create -f -

WordPress editor missing when using CloudFront

We often put CloudFront in front of our WordPress sites to increase the load times of the website significantly.

CloudFront and WordPress have a few quirks, the main one will be the missing rich post/page editor that suddenly goes missing from your wp-admin.

The issue comes down to the UA sniffing that WordPress does.

Adding this into your functions.php will be a good quick fix for you

* Ignore UA Sniffing and override the user_can_richedit function
* and just check the user preferences
* @return bool
function user_can_richedit_override() {  
    global $wp_rich_edit;

    if (get_user_option('rich_editing') == 'true' || !is_user_logged_in()) {
        $wp_rich_edit = true;
        return true;

    $wp_rich_edit = false;
    return false;

add_filter('user_can_richedit', 'user_can_richedit_override');  

Quickly build your own CentOS 6 & 7 AMI

Following on from my previous post Roll your own CentOS 6.5 HVM AMI in less than 15 minutes here's the snippet to for booting into an automated kickstart install for building your new AMI.

This also works for other VM providers such as Azure.

Don't forget to replace the version and appropriate snippets with your own.

version=<%= @osver %>  

# Detect primary root drive
if [ -e /dev/xvda ]; then  
elif [ -e /dev/vda ]; then  
elif [ -e /dev/sda ]; then  

yum -y install wget  
mkdir /boot/centos  
cd /boot/centos  
wget ${mirror}/${version}/os/x86_64/isolinux/vmlinuz  
wget ${mirror}/${version}/os/x86_64/isolinux/initrd.img

cat > /boot/centos/kickstart.ks << EOL  
<%= snippet 'centos_kickstart' %>

<%= snippet 'centos_post' %>  
<%= snippet 'centos_post_finish' %>  

if [ ${version} == 6 ]; then  
  echo "
  default         0
  timeout         0

  title CentOS 6 Installation
          root (hd0,0)
          kernel /boot/centos/vmlinuz ip=dhcp ksdevice=eth0 ks=hd:${drive}1:/boot/centos/kickstart.ks method=${mirror}/${version}/os/x86_64/ lang=en_US keymap=us
  initrd /boot/centos/initrd.img " > /boot/grub/grub.conf
  echo "menuentry 'centosinstall' {
          set root='hd0,msdos1'
      linux /boot/centos/vmlinuz ip=dhcp ksdevice=eth0 ks=hd:${drive}1:/boot/centos/kickstart.ks method=${mirror}/${version}/os/x86_64/ lang=en_US keymap=us
          initrd /boot/centos/initrd.img
  }" >> /etc/grub.d/40_custom

  echo 'GRUB_DEFAULT=saved
  GRUB_CMDLINE_LINUX_DEFAULT="quiet nosplash vga=771 nomodeset"
  GRUB_DISABLE_LINUX_UUID=true' > /etc/default/grub

  grub2-set-default 'centosinstall'
  grub2-mkconfig -o /boot/grub2/grub.cfg

Cleaning Up Docker Host

Sometimes testing docker images consumes a lot of diskspace depending on what you're using, if you're like me and don't have a brand new 1TB SSD then we can't afford to have diskspace wasted.

Here's a quick 3 line command to:
1. Stop all docker contaienrs
2. Remove all docker containers
3. Remove all docker images

docker stop $(docker ps -a -q)  
docker rm $(docker ps -a -q)  
docker rmi $(docker images -q)  

Now we can start fresh and try or build new docker containers. Also note, if you created external volume mount folders these commands won't remove them.

Error response from daemon: Cannot start container (....) (exit status 1)

This is a fairly generic error message, but it may help some that their iptable rules may be conflicting.

Stop using lokkit!

If you use lokkit for your iptable rules, you'll overwrite the docker rules so you'll have to service docker restart and try again.

Now the docker firewall rules should be loaded and you can start your docker container!