MySQL Passwords and Failed Logins
Let’s break up the travel blog with a good old-fashioned tech post. I’ve been putting in some work for The Coworking Society at the moment and part of that involved our MySQL database. I recently...
View ArticleUsing Mail.app to send from multiple email addresses
I recently acquired a MacBook and decided for the first time in my life to use the Mail app bundled with OS X. I have about 10 emails that I use for different purposes and some of them are just...
View ArticleAndroid Studio “unable to find a valid JVM”
Today I needed the Android SDK to run an Ionic Framework app but didn’t have Java installed. Every time I tried to run Android Studio I was getting an error saying “Android Studio was unable to find a...
View ArticleIonic Create Directory in Simulator
I’m currently creating an app using the Ionic Framework. It’s been going really well and the team is enjoying using it. Today we came up against a problem where we need to store images the user has...
View ArticleThe Origins of The Coworking Society
In July 2014, my friend Sami and I decided to enter the Unleashed Open Data competition run as part of the wider GovHack competition. They wanted to call it GovHack in South Australia but the word...
View ArticleLaravel 5 “No tests found in TestCase” error
If you’re running the default Laravel 5 tests with PHPUnit you might come across the above error. This is because there are no functions with “test” prepended to the start of them. In your TestCase.php...
View ArticleMySQL/Laravel 5 migrations not working – SQLState 2002
If you have recently installed MySQL via Homebrew and Laravel via Composer you may run into some trouble where your migrations won’t run regardless of whether or not the credentials are correct. To fix...
View ArticleRunning before_insert in Phoenix Elixir
If you have a generated Phoenix model and you want to run a function before insert, something like setting a UUID of a user you should run code like this. In your <modelname>.ex in your initial...
View ArticleASMS Presentation Night Speech
At the end of last year I was asked to speak at the ASMS’ Presentation Night. I was speaking to high school students in years 10-12. Here is the transcript! Who here believes the world will get better...
View ArticleLearning Chinese (Mandarin)
At some point during 2015 I heard about the China Australia Millennial Project (CAMP). I didn’t have any particular interest in China outside of general news and life. I do love meeting people doing...
View ArticleReviewmymp – A Project to change Australian Politics
A while ago I bought the domain http://reviewmy.mp. I had an idea of some sort of reviewing system for politicians. A friend and I toyed with the idea of making some sort of automated Politifact style...
View ArticleWorking with Google Custom Search (GCSE)
Lately I’ve been working on a website that integrates Google Custom Search Engine (GCSE). I haven’t worked with GCSE before and found it somewhat difficult to work with. The API and creating the search...
View ArticleUnderstanding why we use `===` in JavaScript
Understanding why we use `===` in JavaScript Often in JavaScript you’ll see a developer use `===` in their conditionals instead of `==`. Most languages will use single equals for assignment and double...
View ArticleWTF is strict mode?
WTF is strict mode? You might have seen your colleagues dropping in 'use strict' into their JavaScript code and wondered: WTF does that do? Another place you’ll often see use strict in place is within...
View ArticleLet’s talk about CSS Grid
Let’s talk about CSS Grid It seems like everywhere I’ve been lurking lately including the office has had people talk about CSS grid and what it means for developers and how we build websites. I sat...
View ArticleChange your life with CSS Variables
Change your life with CSS Variables We all know and love using variables in our SASS files, it’s basically the most often used selling point for SASS and LESS and along with things like mixins and...
View ArticleWar, poverty, and the human elements of cybersecurity
This essay was written for the 2017/2018 Secureworx essay competition. The essay question was: “How is cyber security a human issue?” My essay was chosen as 1 of 2 winners and received a $2000 cash...
View ArticleBSides Wrap-up
BSides Wrap-up Right now I’m sitting in the airport bar, reflecting on the great weekend that Megan and I have had at BSides Canberra 2018. This was my first cybersecurity conference and the weekend...
View ArticleBSides Canberra 2019 – Wrap Up
On Thursday night Megan and I travelled to Canberra for our second BSides Canberra event. We attended our first BSides in April last year and had a great time. It’s also how we discovered locksport...
View ArticleClosures exist, so what are they?
Closures are a style of writing JavaScript that provides object data privacy. What this seems to mean is that you can define a function within another function. Your child function will be able to...
View Article