Thoughts… ravings… and more…

#depanx *

I had the privilege of speaking to a few hundred high school kids earlier today about Depression and Anxiety at Presbyterian Youth Summer Camp. We’ve been looking at how God provides Hope in Darkness through the lens of 1 Samuel.

This is a topic quite close to my heart, and I thought it was worth brain dumping some of the things I said this morning, possibly with a bit more refinement.

To be honest, this post has been brewing for a while. There is a lot I want to say about this topic; but it’s so big and it’s hard to get the right words to say, and to know the right time to say them.

Depression is something that we’ve been aware of in my family for quite some time. I have a number of close family members who have suffered from depression and anxiety in varying forms; as well as a number of good and close friends who have and continue to struggle with it. I’ve been privileged to be part of their network of support people and to be able to care for them.

Today, it’s still something we live with every day. Some days that’s easier than others.

What is depression?

Depression takes many varied forms. Typically it’s a loss of pleasure or interest in the world. Sometimes this can be accompanied with an unbridled sadness; but not necessarily. Often it’s the feeling of not being able to find joy in anything.

There isn’t one cause for depression. Sometimes it can arise out of a situation Sometimes it can have no apparent or particular cause. For some people, depression lasts for a few weeks, months or years. For other people depression is something that stays with them for their whole lives.

In many cases of clinical depression, people who suffer from it frequently have difficulty processing serotonin. Sometimes their serotonin receptors don’t react well to the release of the serotonin within their brain which affects their ability to maintain a mood balance. Sometimes their brain can be overstimulated by serotonin. Many anti-depression medications help by adjusting the way the brain processes these chemicals, helping it be more or less receptive.

What is anxiety?

Anxiety is often linked to depression, but is not the same thing as depression. Typically it’s a feeling of uncertainty or nervousness. People who suffer from anxiety may feel on edge or like they’ve done something wrong.

Like depression, there isn’t one cause for anxiety. It can be caused by life events, and may be affected by many other conditions or situations.

So how do we fix it?

Often it’s easy to think that Depression or Anxiety define a person who suffers from them. Because they affect the way you interact with the world, it can be difficult to seperate them from the rest of your personality.

It’s important to recognise that even though it can seem like it’s a core part of your personality, it’s not what defines you; and people do recover from, and learn to manage depression — just like any other chronic illness.

As a Christian, the first, and perhaps most important thing is to remember to pray about it. God can heal people who are suffering from Depression and Anxiety. We need to remember that God hears and listens to our prayers and can, and does, heal people who are sick with depression. But it’s also important to remember that sometimes God doesn’t answer our prayers in the way we expect. That doesn’t mean that we’ve done anything wrong, or that our prayers are ineffective — but rather that God’s plans are bigger than ours.

Prayer isn’t the only thing that we can do — and it’s good to know what other things might help as well. There isn’t one set of things that work for everyone; rather, each person who suffers from depression or anxiety needs to work out what combination and balance is right for them.

To do that, it’s best to get the help of a professional. Your local GP can get you started, and refer you to an expert clinician who can help with counselling or more specialised treatment programs. In many cases a large part of your initial care is also covered by Medicare in Australia.

Often it’s good to chat to friends or family as well. They can listen and walk beside you while you suffer. It’s good to remember that they can’t fix it — but they can love you in the midst of your struggle.

There are a number of good resources online that can help you with reading material. These include:

Sometimes life can be particular hard and people can struggle to see a path to keep struggling through. Services like LifeLine and the Kids Help Line are there to help in these instances — and are only a phone call away. LifeLine’s phone number is 13 11 14. The Kids Help Line is 1800 55 1800.

My friend suffers from depression or anxiety. How can I help?

Loving and supporting someone with depression and anxiety can be hard; but it’s worth it! The most important thing you can do is to simply be there for them. Remember that you can’t fix it, and your friend or family member probably isn’t looking for you to make it better. Remember that, just like a broken arm, healing takes time and people can’t and won’t just “snap out of it”.

There are some great resources around to help people who are supporting those who suffer. Websites like the ones above have great articles on what it’s like to go through Depression and Anxiety. One of the resources I’ve found most helpful personally is a beautiful set of comics called Kinds of Blue. This particular comic by Karen Beilharz was an absolute relief when I first found it because it made sense of a lot of things that had been floating around my head but I was struggling to articulate.

And keep praying for them. Pray that God will heal them; and that He will help them to learn to manage their illness. Pray that they will find comfort and compassion in him. Pray that God will give you the strength and energy you need to love them well.

What does the bible say about depression and anxiety?**

The bible tells us to pray in all situations and all circumstances, and constantly. It tells us to pray for healing. When we don’t know what to pray, Romans tells us that the spirit prays for us knowing what we need to pray for.

When Jesus preaches his famous Sermon on the Mount, he tells his disciples that they didn’t need to worry because God would supply all their needs, just like he clothes the flowers of the field or feeds the birds of the air. We also know that Jesus experienced pain and anguish — to the point that he even sweated blood. The bible tells us that Jesus was tempted in every way, and that he is able to sympathise with us whatever we are going through.

But the best hope is that of a new, redeemed creation. 1 Corinthians 15 promises us a new body — not a spiritual, ethereal body, but a physical body. We know that the old will be gone, and the new will have come. But best of all, there will be no more mourning, sickness or pain. Revelation 21 paints a beautiful picture of what it’s going to be like:

And I heard a loud voice from the throne saying, “Look! God’s dwelling place is now among the people, and he will dwell with them. They will be his people, and God himself will be with them and be their God. ‘He will wipe every tear from their eyes. There will be no more death’ or mourning or crying or pain, for the old order of things has passed away.” (Rev 21:3-4 NIV)

I long for the day when Jesus returns, and all things will be renewed.

Come, Lord Jesus.


* The title #depanx is a reference to the internal channel we’ve been using to talk about this amongst our planning team on Slack as we’ve been getting ready for PY Summer Camp. Slack is an excellent tool for collaborating with remote teams and facilitate communication between people in disjoint locations.

** This isn’t intended to be a detailed theological paper covering all the biblical references and theology associated with depression and anxiety. In fact, the bible says plenty of other really good things to people that are in the midst of depression and anxiety. It also says lots about how we can love and care for people who are sick or injured — just like people suffering from depression. If you want to read more, The Wandering Bookseller has a good collection of Christian books on depression.

Joy.

It’s no secret that Christmas is one of my favourite times of year. I love the carols. I love the cheer. I love the presents. I love the carols. I love the food. Particularly turkey (my favourite by all long shot). Did I mention that I love the carols?

This year I decided to do something a bit different. Donned in my Santa hat I stole borrowed from Alex, I have been making my way through our local shopping centres singing carols. It’s been great. Some people were indifferent. Some people were curious. Some were shocked. Actually, most were shocked. Some people looked a little annoyed. But by and large, the majority of people were delighted.

This morning, as we were making our way to get some final pieces for tomorrow’s feast, I heard that about 10% of Sydney would head to the shops today, and about 30% of those people would be substantially stressed. Those numbers really aren’t a surprise to me.

But the joy, the joy, as you see someone hear you singing. They pause what they are doing. They look around. And they smile. I witnessed face after face light up. And person after person joined in and sang along. At one stage I had around 20 people in Coles singing along to O Come All Ye Faithful. Whether they were laughing at me, or singing with me is irrelevant. I’m thrilled that I could brighten someone’s day.

So what is it about Christmas carols that fills people with joy? I’ve started to reflect a bit on what it might be.

1. A good Christmas Song doesn’t necessarily cut it…

Santa Clause is coming to town is a terrible song to sing to fill people with joy. Whether it’s the lyrics about lists, or voyeuristic watching of all you do to judge your suitability for presents; it’s not a happy Christmas song. Singing it in full voice in Myer as you walk through the electronic gifts section is definitely a lot of fun though.

2. Singing in a group is excellent…

There is something about putting your pride and memory on the line in public to sing – a vulnerability if you will – that is infectious. People respond to the openness of people singing and performing without shame.* Scientific Studies have shown the positive health benefits of singing in groups, and the joy that goes with singing together is amazing. Spontaneous Carol singing is an endorphin rush.

3. Joy.

Carols are joyous. The words speak of hope. Hope – because the great saviour of the world came to earth. It’s not an intangible hope expressed in a series of well wishes. It’s Joy to the World – because the Lord of Heaven and Earth has come to make his dwelling with man. It’s the songs of Angel’s singing because the King of the Earth has come to earth. It’s the great news that the one who will save all people from their Sin has begun his life.

And I guess that’s what grabs me anew each Christmas. That God would look into this world of Sin, and send his own Son. His own Son, who gave his life willingly for us so that we can share his heaven.

In the great words of O, Little town of Bethlehem:

How silently, how silently
The wondrous gift is given!
So God imparts to human hearts
The blessings of His heaven.
No ear may hear His coming,
But in this world of sin,
Where meek souls will receive him still,
The dear Christ enters in.

Or my absolute favourite… O Holy Night:

Truly He taught us to love one another,
His law is love and His gospel is peace.
Chains he shall break, for the slave is our brother.
And in his name all oppression shall cease.
Sweet hymns of joy in grateful chorus raise we,
With all our hearts we praise His holy name!
Christ is the Lord! Then ever, ever praise we,
His power and glory ever more proclaim!
His power and glory ever more proclaim!

Thank you, Jesus, for entering our world of sin. Thank you, Jesus, for giving us hope. Thank you, Jesus, for saving us. It truly is a Merry Christmas.


* I think it’s a shame we no longer sing in public. Maybe that’s because of the direction of popular music these days. The rise of electronic production enables us to produce melodies and sounds in ways we never have been able to before, but often at the expense of a strong lyrical melody. This is a generalisation to be told – artists like Jason Mraz, Regina Spektor, Florence + the machine, and even Beyoncé still produce amazing lyrical melodies. Christmas Carols are (almost) inherently singable; and the tunes are easy to learn.

PHP on macOS Sierra can’t access SSL data

Recently I ran into an issue where I couldn’t use PHP to retrieve an SSL site on OSX Sierra. Interestingly, the following scenarios were true:

  • PHP using libCURL worked fine. HTTPS would access and decode without an issue
  • file_get_contents was unable to access the URL
  • SOAPClient was unable to decode SSL resources

The error produced by file_get_contents for the URL in question was:

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

After a bit of digging, I found the following:

  • libCURL uses the Apple SecureTransport layer to map and manage their SSL certificates. This means that they do not rely on OpenSSL certificate data to be able to verify intermediate certificates
  • file_get_contents and SOAPClient still rely on libssl to be able to perform their SSL verification chain, which expects intermediate certificates to exist on the file system

Running the following command:

php -r 'print_r(openssl_get_cert_locations());'

returned a set of default files and locations that PHP’s openssl layer was expecting to find data:

Array
(
 [default_cert_file] => /usr/local/libressl/etc/ssl/cert.pem
 [default_cert_file_env] => SSL_CERT_FILE
 [default_cert_dir] => /usr/local/libressl/etc/ssl/certs
 [default_cert_dir_env] => SSL_CERT_DIR
 [default_private_dir] => /usr/local/libressl/etc/ssl/private
 [default_default_cert_area] => /usr/local/libressl/etc/ssl
 [ini_cafile] => 
 [ini_capath] => 
)

but none of these paths existed. The solution/workaround I implemented was running the following in shell:

% sudo mkdir -p /usr/local/libressl/etc/ssl/certs
% sudo curl -o /usr/local/libressl/etc/ssl/cert.pem https://curl.haxx.se/ca/cacert.pem

This creates the default_cert_file directories and imports the latest certificate store from curl.haxx.se.

Other options may include using tools such as brew to install additional resources on the system; but I prefer not to do that – or utilising tools such as Docker to contain your PHP application execution.

 

Losing my religion?

OK, so the headline is not really about the article. I don’t think I’m losing my religion.

But Religion is one of the big topics of the Census next week. On one hand we have organisations marketing for people to tick “No Religion” on the Census when it comes around. We have people suggesting that if we tick “No Religion” then Islaam will become the dominant religion. On the other hand, we have Christian Lobby groups advocating to have you tick “Yes” to a religion – even if it’s the religion you were brought up in and you aren’t sure if you hold it (i.e. if there is even the remotest, slightest possibility you might hold it) any more.

I’m finding this whole conversational dynamic bizarre.

The Christian Church has for decades been struggling to break past the dynamic of religious nominalism. The good news about Jesus’ death and resurrection, and the hope for eternity that it provides often falls on deaf ears because people think that they know what being a Christian is all about. They assume that they have heard it all before because they were raised in a Christian home, or went to Sunday School 30 years ago. As Christian’s we privately quip about those who believe they know exactly what the Gospel is, but don’t seem to get it.

I guess there is some argument that Christian Churches want representation to argue for protection of religious freedom. Or they want protection so that they can lobby for a certain volume of support from Government. I’m assuming the argument is that claiming to represent more people helps them argue more effectively. Our politician’s aren’t always the smartest, but I’m pretty sure they understand that of the portion of Australia that describe themselves as Christian a substantial majority don’t attend church or hold any particularly overt Christian conviction.

And then we turn around and tell them to choose Christian as their religion on the Census, even if they don’t hold that as their personal religion any more.

Performing batch upgrades on Polycom handsets

At Real World, we occasionally need to upgrade a large batch of Polycom Handsets en masse, and remotely.

Recently we needed to push out firmware updates for VVX series to address a bunch of minor, but significant bugs that have been around for quite some time.

There is a relatively well-known process for this:

  1. Make the updated firmware available on your provisioning server
  2. Send a “sip notify” packet to the phone requesting it check the configuration from the server
  3. Wait for the phone to reboot

People have written some scripts to make this less painful when you have SIP peers that are all very similar and sequential in name. We needed to do this for a few thousand phones, with all dissimilar usernames. Typing in ‘sip notify polycom-check-cfg EXTEN’ 2000 times at an Asterisk prompt not the way I planned to spend my evening!

I wrote this “quick and dirty” script to accomplish this task.

<?php
$phones = `asterisk -rx 'sip show peers'`;
$lines = explode("\n", $phones);
foreach ($lines as $line) {
 $segments = preg_split("/\s+/", $line);
 if (count($segments)>1) {
  if ($segments[1]!="(Unspecified)") {
   $parts = explode("/", $segments[0]);
   $peer = `asterisk -rx 'sip show peer $parts[0]'`;
   if (stristr($peer, 'vvx')) {
    print "$parts[0] is a vvx\n";
    print "sending sip notify polycom-check-cfg $parts[0]\n";
    print `asterisk -rx 'sip notify polycom-check-cfg $parts[0]'\n`;
   }
  }
 }
}

Docker for Mac “Unknown runtime specified default”

As part of my life, I do a fair bit of development. For the last 18 months I’ve been using Docker, an awesome container/virtualisation platform as a daily part of my development routine. There are a number of tools to help you get up and running with Docker, and one of them is Docker for Mac. Docker for Mac provides a VM environment for running container software and makes your overall Docker experience seamless.

Only catch? It’s beta. That out of the way, I went to run up some containers this morning and hit this issue:

% docker-compose start pbxdb
Starting pbxdb ... error

ERROR: for pbxdb Unknown runtime specified default
ERROR: No containers to start

This error was new, and I knew that I previously had this container working. Turns out that it’s a product of the issue described here – namely that between 1.12.0-rc2 and 1.12.0-rc3. Fortunately the fix is simple – recreate your containers. This issue looks like it’s present across all Docker for “X” platforms.

% docker-compose rm
Going to remove myapp_pbxdb_1, myapp_app_run_1, myapp_db_1, myapp_redis_1
Are you sure? [yN] y
Removing myapp_pbxdb_1 ... done
Removing myapp_app_run_1 ... done
Removing myapp_db_1 ... done
Removing myapp_redis_1 ... done

and rebuild my containers.

Not the end of the world – but hopefully this save someone else 30 minutes of googling and reading comment!

UPDATE: Some people may find recreating their containers problematic if they have non-ephemeral data they don’t want to loose. As this is a dev environment I’ve built to allow me to not care, it doesn’t really affect me too much. But if you want to preserve your containers, you can use this strategy – use docker inspect to find the volume identifier for the container, and then make a new container with the docker command using the same image. This should allow you to dump the data out using whatever tools you need and then re-import it into your rebuilt containers you are using with docker-compose or your favourite tool.