So this is a quite personal blog post.
I have a stutter. It’s not too bad, it’s not always obvious, and I mostly don’t pay any attention to it these days. But is has had a significant impact on my life. I can’t always tell what is my choice, and what is due to my years of not wanting to end up in public speaking roles.
I wanted to recount some observations, comments, and experiences. This will be a rambling, heartfelt post.
During school, both primary and secondary, I dreaded public speaking. Even to a class of people I knew well. From finding out about an assignment requiring a presentation, to the sometimes obsessive preparation, to my sweaty palms, thumping heart, and shaking legs as I stood up to speak. It was not fun. Stumbling over every few words, occasionally pausing to take a deep breath, try to steady myself. Feeling like time was going so slowly. Looking from person to person in the audience, gauging their reactions to my torture. The relief I felt when I finally finished, and could hide away back into the audience. Telling myself it wasn’t so bad. So glad to be finished.
There were quite a few goes at speech therapy. Some of it helped a little. Much of it felt hopeless, like I was being shown something that was easy, and why couldn’t I get it? I remember being told a few times that I would grow out of it. It’s just a temporary thing. Well, unfortunately no. It’s still there, hanging out for when I’m nervous, scared, tired, angry. Whenever expressing myself is important.
I’m glad I can write about this now. I’m not looking for pity. This post is mostly for myself. And, maybe, to help other people who stutter.
I have some regular, usually annoying, experiences thanks to my stutter.
Tare usually the worst. Then there’s getting stuck on a sound that leaves me with my mouth open looking like a stunned fish.
Steven. This may be a small part of the reason I have to concentrate and pay attention to people’s names when I first meet them. I don’t know.
And now some of the more intriguing and wonderful aspects of my stutter.
Finally, I am so glad The King’s Speech exists. I don’t know if it’s a good movie or not, but it reflects feelings I’ve had about the way I sometime speak so damn well.
This review of the movie as it relates to stuttering is quite good:
The film portrays stammering with sympathy and accuracy (as expected given the writer David Seidler stammered) and will no doubt do much for stuttering awareness.
However the film’s strength is that the true nature of stuttering as a disability is obvious for all to see. Apart from the physical difficulty of speaking, stuttering was clearly impacting on George’s emotional health and on his relationships.
This film gives the stuttering community a wonderful opportunity to discuss and develop their public awareness message. In this way a disorder which until now has led sufferers to bear the brunt of ridicule and discrimination might be more sympathetically and more accurately regarded. “The King’s Speech” has the potential to join the classics of cinema by being emotionally engaging, historically interesting and socially relevant.
I cried through most of this talk the first time I watched it.
As part of my phd I created two exploratory prototype websites. I recruited people to evaluate them and collected the data. The websites were then removed and not available for quite a while. Towards the end of my study in 2015, I wanted to revive the prototypes. They were a large part of my PhD work, it would have been a shame to not have them available.
If you have any feedback or have questions, please get in touch!
I was interested in past electricity outages in Brisbane. As far as I know, there isn’t a dataset for this. So I thought I’d create one.
If there’s anything else you think could be done with this data, please let me know!
I’m a PhD student at Queensland University of Technology. I’m approaching the end of my degree. My final seminar was in late July, and I’m revising my thesis before I submit it for external examination. My work was in the discipline of Human-Computer Interaction. My research looked into computer interface designs for enabling bird watchers to analyse long duration audio recordings from the natural terrestrial environment.
I did this because acoustic sensors are becoming more and more popular as a means of biodiversity monitoring. However, they produce large amounts of data that need to be processed. Automated processing is advancing rapidly, although raw recordings of the environment can be complex with overlapping and distant sounds. There is also the need for example sounds to train automated algorithms. Birdcalls are some of the target sounds, and dedicated bird watchers have a wealth of experience and knowledge that cannot be found anywhere else. Therefore, it would be beneficial to enable bird watchers to share their knowledge by analysing audio recordings.
Common interfaces for audio playback, metadata, and organisation are not suitable for long duration audio that needs to be analysed. This presents more than just technical implementation hurdles: the everyday interactions with sound for most people are around communication, ambient sound, or music.
The interface for the VLC media player is a good example:
VLC can play both audio and video. There are many other programs that can play multimedia. They all have very similar interfaces. Some differ in the situation they will be used, for example media players on smart devices need to be designed to be accessible in a pocket or attached to an arm. However, their purpose is to play music or for communication. Most songs are between 3 to 5 minutes in duration. Radio and communication via Skype or other voice call software often gives only the duration of the call from the beginning, or the point within the current program for radio.
Analysis of long duration audio recordings requires not only a playback interface that can deal with recordings up to a day in duration, but also provide some means of seeking within a recording, and a method of adding metadata to the recording. Any metadata or annotations need to remain attached to the recording. Current software simply is not appropriate for analysing long duration recordings. There is software for audio editing, such as Audacity, which provides tools for modifying and visualising audio. The visuals can be a waveform (a time-amplitude representation of sound) or a spectrogram (a time-frequency-amplitude representation of sound).
Here’s an audio file loaded in Audcity showing the spectrogram:
Audacity is an improvement, as the spectrogram visualisation and other tools make it easier to work with audio files. However, many files are more than 1 gigabyte in size, which is often more than Audacity can handle. This screenshot also shows only 16 seconds of audio. For a day long recording (86400 seconds), there are another 5400 16-second segments. The problem of how to associate metadata has still not been solved. There are software programs created specifically for analysis of environmental acoustic data, such as Song Scope and Raven. While these programs do allow for annotation and automated analysis, they are not suited for many long duration audio files and concentrate on automated analysis.
An interface that effectively enables birders to analyse long duration recordings needs a few things:
For my research, I created two prototype websites to investigate how bird watchers could analyse many long duration audio recordings. I looked at how bird watchers could navigate long duration recordings and attach metadata through annotations. This included information about the recordings, such as where and when they were recorded along with a photographs of the surrounding area. In a subsequent post I will go through the prototypes I created and how they were tested.
I recently needed to host two websites: one using node.js and one a Ruby on Rails site. I do have an account with bluehost, although setting up recent node and Rails sites on bluehost is something I’ve attempted in the past, and it was rather difficult.
Instead, I gave heroku at go. It went quite well, I was particularly pleased at the deployment process. However, I could see that the prices could quickly build up, particularly as I needed at database and potentially a number of other add-ons. I had a look around for other options, and I found a list of cloud services for Rails, ranging from Platform as a Service (PaaS) to Infrastructure as a Service (IaaS).
I liked the look of the Digital Ocean (DO) droplet pricing ($10/month for a 30GB SSD with 1GB RAM). I then quickly found Dokku:
The smallest PaaS implementation you’ve ever seen
Docker powered mini-Heroku in around 200 lines of Bash
I thought I’d give it a go, and I’ve been quickly hooked. There are quite a few blog posts about setting up Dokku on Digital Ocean. Some of the ones I made use of are:
Here’s my take, from a new DO droplet to a running server with deployed applications.
In this tutorial
Indicates the command is to be run on the local machine, while
means the command is to be run on the droplet.
Let’s get going! Keep the Dokku documentation handy, you’ll most likely want to consult it at some point.
Use virtualhost naming for appsonly if you set a domain name.
If you choose not to use the Dokku application image from Digital Ocean, don’t forget to add your public key to Dokku.
local$ cat ~/.ssh/id_rsa.pub | ssh [sudouser]@[yourdomain].com "sudo sshcommand acl-add dokku [description]"
You’ll need to set some DNS records:
<subdomain>with droplet IP address (e.g.
*.<subdomain>with droplet IP address (e.g.
Now we can set up the droplet. These steps are a condensed version of the Digital Ocean Ubuntu set up guide.
Using the root user for everything is really not a great idea.
local$ ssh root@<droplet-ip> $ apt-get update $ adduser <user name>
Make sure you set a strong password for the user, and don’t lose it! You’ll need it for
$ gpasswd -a <user name> sudo $ su - <user name> $ cd ~ $ mkdir .ssh $ chmod 700 .ssh $ vi .ssh/authorized_keys
Add your personal public key to the
$ chmod 600 .ssh/authorized_keys $ exit
It is better if root is not allowed to log in at all.
$ vi /etc/ssh/sshd_config
Disable password logins and root login by changing these lines:
PasswordAuthentication no PermitRootLogin no
Restart the ssh service so the changes take effect
$ service ssh restart
<user name> can log in before exiting the ssh session.
Keep the root session open until you confirm that you can run sudo.
Start a new console session and log in as the new user:
local$ ssh <user name>@<droplet-ip or host name> $ sudo apt-get update $ sudo apt-get dist-upgrade
If that works, exit the root ssh session.
Ensure ssh logins are allowed
$ sudo ufw allow ssh
Also allow ports 80 (http) and 443 (https) for web traffic
$ sudo ufw allow 80/tcp $ sudo ufw allow 443/tcp
Check the exceptions
$ sudo ufw show added
Enable the firewall
$ sudo ufw enable
Set time zone by following the instructions to choose your timezone
$ sudo dpkg-reconfigure tzdata
Install NTP sync so the system clock stays at the correct time
$ sudo apt-get install ntp
There may not be one in the Ubuntu droplet, which I found odd.
$ sudo fallocate -l <RAM x 2>G /swapfile $ sudo chmod 600 /swapfile $ sudo mkswap /swapfile $ sudo swapon /swapfile $ sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
If the droplet’s host name is the same as the domain name, there is nothing to do.
Otherwise, these tutorials might be helpful:
Now to deploy an application to dokku! For example:
local$ mkdir ~/projects local$ cd ~/projects local$ git clone <git url> local$ cd ./<application name>
You’ll need to set a new git remote.
local$ git remote -v local$ git remote add dokku dokku@<subdomain>:<application name> local$ git push dokku master
If the deploy was successful, have a look at the website at
YOu might need to set some application settings, such a Rails
secret_key_base or a database connection string.
I chose to do this via environment variables. This is not my preferred method, but it was quick and simple.
Set configuration vars like this:
$ dokku config:set power-outages secret_token=<long string of characters> secret_key_base=<long string of characters>
Some applications need a database. I’m a fan of Postgres. Add the dokku postgresql plugin and create a database
$ sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres $ export POSTGRES_IMAGE="postgres" $ export POSTGRES_IMAGE_VERSION="9.4.4" $ dokku postgres:create <application name>-db $ dokku postgres:link <application name>-db <application name>
Then set the databse connection string as a configuration setting:
$ dokku config:set DATABASE_URL="postgres://<db user>:<db pass>@<dokku ip>:<db port>/<db name>"
For a Rails application, you may need to run migrations:
$ dokku run <application name> bundle exec rake db:migrate
There we go, from creating a Digital Ocean droplet to deploying an application.