Week #603 & #604

Friday, September 9th, 02022 at 14:41 UTC

Week #603

This week saw the start of September. That is an odd-numbered month, so our VAT report is due. We spent one morning collecting receipts and filing them all away into our accounting software. Since it is also the start of the month, we do our little backup routine. The computers are incrementally version controlled every hour. Phones are synced to the cloud. Each month we try to remember to use our ‘air gapped’ external hard drive and take another snapshot of all the laptops incase something really bad infects the computers and the networked, rolling backups are also a problem.

We also got news that Heroku is ending their free tiers. It is a business decision, but it does have an impact on us. We use Heroku as a paying customer for a lot of services. We also have a lot of downtime were we go lower to the free-tiers. We also make prototypes and test things well in advance of release. We are also using the free-tiers because we know they are identical to the paid version. Now, every tiny little idea will cost more than it’s worth. So we’ve been exploring alternatives, like fly.io and AWS.

For instance, we created a simple iOS app to receive push notifications. There is a webhook server running on Heroku that accepts a POST and converts that to a Apple Push Notification which gets sent to our phone. The code is very simple, but invaluable those 1-2 times a month we get a message. When a server 500 error occurs, we know instantly and can check the logs. While important, it’s easy enough to host anywhere – and that’s what we did. Rather than pay, we moved providers.

Another of our hosting providers, Opalstack, is planning an 8h downtime on Sept 15th. That means we needed to prepare a few things. One thing NOT recommended todo with Heroku is host static files, so those are done on Opalstack via apache. We made a contingency plan for that. We also have our own QR code generator running on Opalstack which will be unavailable that day. We’ve taken to adding some heavy caching, so we should make it through those 8h unless someone needs to make a new QR code!

Last week, found a bug in the XERO API and reported via their forums with no response. This week, we escalated it to Twitter and someone replied and we moved it into their big tracking software. They are looking into it and hopefully we’ll get a fix. This is no zero-day exploit, the API is validating URLs one way and the website is doing so differently. We’ve managed to get into a state where a URL string is valid in one case, but not the other – our opinion is that they should be consistent!

As September begins, our school surveys are now underway and we’ve started for the next set of data collections. These will happen in October for two other groups. There has been some data crunching and we’ve tweaked one survey and moved it from April to October. We’ll see how this goes and adjust again as needed next year.

For the Hyperion project, we are in the analytics phase. We’re having meetings to planning what needs to be collected and analyzed for future improvements. Then we need to document all this and send it over to the client for approval. We suspect this will take several rounds and some ‘horse trading’.

Week #604

We always come back to that silly business management book that sits on our shelf, “Dig your well before you’re thirsty”. This week, it didn’t work out. We had some meetings and a proposal for a small project that isn’t going anywhere. You win some and sometimes the client just isn’t that interested for any number of reasons that’s not your fault. Which is why you always gotta be digging, even when you don’t have too, because a lot of the time you won’t find anything.

With the demise of Heroku, we’ve been researching AWS RDS as a replacement postgres database. They offer a free tier and (we think) competitive pricing! We are still exploring the back-up situation and any GDPR implications, but so far, we’ve managed to just drop-in the new DATABASE_URL and things just seem to ‘work’ which is great news.

For another project, we’ve been working on an ‘infinite’ map. As your scroll, each of the zones is Ajaxed in, just like Google Maps. To help navigate this, we made a nice minimap using the <canvas> element. This is clickable and jumps you around the larger map to that area. So far, so good, but the problem with being ‘infinite’ is that as the base map grows so does the minimap. That will get really big too and not be so mini! So now we need to come-up with a way to either zoom the minimap, a minimap for the minimap or chunk it into dynamic zones too!?

On Wednesday, Apple had their “Far Out” event which announced new iPhones, Watches and AirPod Pros. The biggest take away for us was that all US iPhones will be eSIM only! That means in a few years, this will come to the rest of the world. Here in Iceland, the Single Sign-On service relies on special physical SIM cards to operate. This is now effectively dead and we can’t program against this service as it currently stands today. We have time, but we’ll need to find some alternative method for authentication.

We spent some time finally looking into the new WidgetKit framework in SwiftUI. We’ve got a soft-spot for data and this is how you make quick, glanceable watch complications. But it is also now how you add them to the Phone’s lock screen and dashboard. They’ve also made it more customizable with the design and layout. We learnt what we wanted and updated a few apps.

On Thursday, Elizabeth II the Queen of England died. After 70 years on the throne it has now passed to her son King Charles III. Queen Elizabeth II had ruled for nearly 30% of the lifetime of the United States.

🇺🇸 2022-1776=246 years
👸🏼2022-1952=70 years

This Friday is the dConstruct conference. We’re sad we’re not in Brighton enjoying it with everyone else, but it is hard to know what’s happening day-to-day right now, so planning such a trip sadly wasn’t on the cards. We have fond memories of the event and hope everyone is enjoying it live, we’re looking forward to the updated dconstruct podcast.


This week, back in 2019, was week #447. We were still planning for the 02020 Material Conference, which we had to cancel due to COVID-19 and still have not managed to reschedule.

Last year at this time, was weeks #551-552. It was 1 year ago that we managed to fully transition to the EHF company leaving the shell of the SLF to be closed down. A year later, and you didn’t even notice.