Another salute to strong women in my life

iwd2020.png

With international women’s day coming up again this weekend, I thought it was time to give another shout out to all the strong women I have had in my life. I did do a post last year on some incredible and inspirational women I know, and my intent was always to add to this over the coming years, and do more (badly amateurish) paintings of them.

I’ve told the story of my current business partner and co-founder, but more than two decades ago, I started another business with L, which was quite successful (We were state finalists in the Telstra business awards, which is one of the most prestigious business awards in Australia).

Now, L is also a keen horse rider, and kept several horses on her property. A couple of years into our partnership, she was out riding alone and came across a fenceline she needed to cross. She dismounted and held the fence wire down and tried to lead her horse over it, but unfortunately the horse tripped and fell on top of her, crushing her pelvis. She was stuck in the wild for hours in intense pain and unable to move until she was found much later and taken to hospital.

IMG_0036.PNG

Her injuries meant that she had to stay in prone position for months, unable to walk, but still she insisted I bring her work to do while she was recuperating at home. I would often visit while she was staying with her parents in town and she would always brush off questions about how she was and dive into anything she could do to keep the business running and keep the customers happy.

We parted ways in the business a few years later, and while the initial separation from the business was acrimonious and emotional, over the years we have forgiven each other and are back to being friends again. It was after we re-established contact that L informed me that she had been diagnosed with Pompe disease, quite rare condition that causes muscles in your body to break down. Now, L was a super fit young woman, so to hear that she couldn’t walk up stairs etc. these days was unbelievable.

She underwent years of treatment, which included regular trips interstate for blood transfusions and stem cell procedures. I believe she now has the disease managed fairly well, and she currently travels the world advocating for several groups who support people afflicted with Pompe’s as well as lobbying governments to speed up research and approval of medication necessary to treat the disease.

I wish L all the best, and am grateful for the time we worked together.


Smart data conversions with regular expressions

Recently I had a side project where I repeatedly needed to manually run an SQL query based on some data received from a third party. They would send me the data containing a list of secure codes, and I would have to include those codes in a query to find matches in my database, like so:

carbon.png

The problem was - the third party would send us codes as a single code per line in a text file, as so:

AABBCCDDD
BBCCDDEEF
A0B2C3D45
9G8H7I6K5
etc…

No delimiters or commas etc. And there were sometimes hundreds of lines per file that I had to manually run down and place an (single quote) at the start, and a ‘. (single quote and comma) at the end. Line. By. Line.

This was getting tiresome to do several times a day, each time a fresh file was sent to me. There must be an easier way. Turns out there was - Regular Expression Searching!

Now what I can do is open the file in my favourite editor TextMate. Then I can go to Edit -> Find. Ensure that the ‘Regular Expression’ checkbox is ticked, then enter in ^ as the ‘Find’ string (RegExp for ‘Start of Line’), and a (single quote) as the ‘Replace’ string.

Find_1_TextMate.png

Then do another Find, and use $ as the ‘Find’ string (RegExp for ‘End of Line’), and a ‘, (single quote and comma) as the ‘Replace’ string.

Find_2_TextMate.png

Voila! Done. The codes will now all be delimited. All that you need to do is to delete the trailing comma from the very last code, and then you can cut and paste the contents of the text file into the IN clause of the SQL query and run it instantly!








The server upgrade is.... when??

speaking-mistake-looking-at-watch.jpg

Like every other SaaS, we like to keep our server infrastructure at HR Partner nice and updated. However, doing that can interrupt your users, so it is polite to warn your users that there will be some sort of downtime during the maintenance window.

Almost every other online site does this, and so we use the excellent Tooltip.io service to post messages to our users from time to time.

One problem. On almost every message I’ve seen on other services - they will post the time of the outage in either GMT/UTC, or their local time zone. My first question is ALWAYS - “When will this actually impact ME, where I am right now??”.

Wouldn’t it be nice, I thought to myself, if there was a website out there where you could punch in the time in GMT… actually, not even punch it in, but pass a parameter to the website with the UTC time and get it to calculate what your local time will be based on your browser settings?

I hunted around Google, and I even asked on Twitter, and while there are a ton of sites our there that can do time conversion for you, not of them (a) are particularly easy (b) can accept URL parameters (c) are free to ad and other rubbish screen clutter making it impossible to work out how to use the site.

I just wanted something simple, that just worked.

So, I decided to build my own. LocalTimeZone (localtime.zone) was born. I spent about an hour whipping up a quick, simple, one page web site that could take an ISO8601 formatted date as a URL parameter, and display the local time based on the browser/PC settings of the person who called up that page. Try it out for yourself:

https://localtime.zone?utc=2020-05-23T14:30

This should show you what the 23rd of May 2020, 2:30pm will be in your local timezone. Try it with any ISO8601 formatted date ( YYYY-MM-DDTHH:MM ).

So now on our server messages, we include a little link which lets the user see what the outage time will be in their own timezone:

Server_Notification_Upgrade.png

Clicking the link will instantly open up a new browser window showing them the outage time in their own timezone:

Local_Time_Display.png

The page is a simple Tailwind CSS based document with a tiny bit of Javascript based on the Luxon time module. The whole thing (registering the domain name, creating the page, testing it, uploading it and setting up a CloudFront hosting with SSL certificate) took just over an hour.

Feel free to use it yourself ‘as is’ by pointing your server outage message links to this page, or else feel free to pinch the code and use it on your own hosting platform or within your website.





Keeping it real...

Jordan-Ravi on stage at Eurovision Australia (photo credit: SBS)

Jordan-Ravi on stage at Eurovision Australia (photo credit: SBS)

We have just come back from a fantastic few days on the Gold Coast, Australia, where we watched our son Jordan-Ravi perform on stage at Eurovision Australia Decides 2020. Here is his performance on the final night:

As a father, it was a moment of utter pride, but not only because of his stellar performance where he gave it everything he had, but because of so many other things.

During those few days, I hung around with him in the 'green room', so I got to watch him interact with everyone from the back stage audio crew, the make up and wardrobe team, the media contingent always wanting his time, and his fans seeking photos and a short chat with him, and also his fellow artists, who are all at different levels of fame in the industry. In every interaction, I was pleased to see that he always always conducted himself with impeccable manners, courtesy and civility.

I guess all that time my wife and I spent ensuring that he places the feelings and wellbeing of other people at the same level as his own has paid off. I know it will be a bit of a battle to ensure that he remains grounded and 'real' while his star continues to rise in this cut throat industry, but I think he has the foundations there, and the constant open line to us, that will help to ensure he stays on course and doesn't let his ego get the better of him.

I am immensely proud of him, and where he has got to in such a short time. The doors are just opening up for him now, and his goal of releasing his own music upon the world will shortly be a reality. Go check out his work at www.jordanravi.com and please give him a follow on Instagram.