Advocacy Cloud

Disaster Recovery

We watched in horror as our neighbour’s SUV was pushed down the road by the flood. Having seen this kind of thing on screens before, witnessing it so close was a different matter entirely. There’s an instinct some people have to stick their hand into a burning flame to save a grain of rice. It’s primal, almost automatic, and unfortunately, can result in loss of life.

When I saw the SUV, stuck on the railing, I grabbed the rope. And my wife was like, where this man going with that? It wasn’t even the right kind of rescue rope. Just something I had at home for God-knows-what-reason. Those waters were not to be trifled with. Good sense prevailed and we waited for things to subside.

Sometimes, when it rains too much, too quickly, we lose power in the lines. I half-jokingly told my colleagues in a work meeting that I might drop off the call… moments later, current gone, current came and the SUV was rolling on down.

Thankfully, there was no one in the vehicle.


In my conversations with IT folk over the years, I learnt about setting the Recovery Time Objective (RTO) in disaster recovery planning. It’s a nifty concept. The RTO is that time it takes to go from state of disaster to normalcy. Depending on what system is down, it can require several subsystems to be restored before the main system is back up and recovery has been achieved. You can read up more about RTO and its sibling concerns of RPO and RTA, here.

In this given disaster, several “systems” went down.

The first that got restored was the road. As soon as the waters subsided, the guys from the hotel up the road, Courtenay Rooks et al, turned up with electric saws, a pick up and other implements. That log was removed in about an hour. People could now safely walk up to their homes, albeit in the mud.

By the time the fire services had arrived, it was to assist with hooking up the SUV to Rooks’ pickup so it could be towed out of the way.

Road now free, the fire tender proceeded up the road to assist others.

Normally when there’s a power outage, I call the electricity company, just to make sure that we’re going to be dealt with. Once my call connected, I was greeted with an automated “We’re aware of issues in St. Ann’s …”

I had no idea how long we would be without service, and it was getting dark. In the twilight, I saw the characteristic yellow of our power company’s service vehicle making its way through the mud. That was about two hours into the outage. It was a good sign. But with fallen poles, I expected it would be a wait. About 5 hours in, the lights came on.

I wonder if like the community response, T&TEC has a specific RTO in events like this. Perhaps 6 hours, maybe a day. Maybe it varies based on access, time of day, type of disaster. It would be good to know.

So, that’s two key subsystems – transport and power – back up in about 6 hours. There’s one other that most of us in the community would need to get normal again. The Internet. Thankfully, it would seem that I only had intermittent LTE outages throughout the period. But land-based Internet connectivity was down. During a lockdown that means we literally can’t work.

Of the two providers I’m familiar with here, Flow seemed to be back up in the morning. But Digicel – my provider. Gosh. I wouldn’t see bytes across my wire until the afternoon. That is, almost 24 hours later.

We need published RTOs for disaster recovery by utility service providers. Figures that they can be held accountable for. Now, more than ever, the mix of services we use at home are critical, as we’re still living under a pandemic, with several limitations.

I know there is a Regulated Industries Commission in Trinidad and Tobago. I think this should be something they treat with, for all of our benefit.


Where everybody knows your name

Like most Trinbagonians, I’ve learned to dread going in to any licensing office. Who could forget the signage up at the Wrightson Road office that said, “We’re closing at 1:00 today” – when you’ve turned up at 12:45, and the people you need have gone to lunch?

And then, the game of ping-pong, between the “information desk” to the cashier to window #3, to outside, to the waiting room, and back to the window #2 (the following week)?

And yet, forget we must.

Maybe not forget, but at least hope, that the future we imagined could one day be real. A future where you could make an appointment, not fill out the same form about yourself three times and can be in and out inside of an hour.

That future is now. Almost. But for what we have, I’m here for it. Because we’re moving, and once that progress continues, we can imagine even more.

I needed to change some details of my Driver’s Permit. So I made the necessary appointment online. The confirmation email arrived and I expected to not need it. When I arrived at licensing, I was a few minutes late. Sometimes, we can be a bit punitive. Thus, I readied myself for “the guard” to send me packing.

However, the concierge was gracious, he didn’t even mention it, instead he waved me towards an actual good place. A kiosk.

A kiosk? In a licensing office? Na.

A kiosk in Licensing Office

I got so excited to see it, that apart from taking the above photo, I’m sure I caused my procedure to take longer than it should. Beyond that, a licensing officer, on seeing me taking a photo and just being a glad man, came outside to see what the commotion was about. When he realized I was actually celebrating the coolness, he encouraged me – “share it on Facebook eh, is only complaints we does see from people”

After the official explained how to use it, “… Just enter your confirmation number, no dashes, no caps”, I was just glad to be in the future – no cap. He gave me two forms to fill out. I was only a little worried. It was almost like, they could have used my data one time eh, but like I said, we’re moving forward. Streams become rivers.

While filling out the form, I heard my name. Williams? Honestly, I was confused. I was like, I don’t know anybody here or back there. Cannot be me. But when the lady repeated it, I looked to where she was, Irwin Williams? I was like, but how does she know my name?

Yes, me a creator of systems and wielder of technologies, small and medium, needed to take a minute – to realize that the Licensing Office was utilizing the information from my appointment to relate my presence there to what I was trying to do. It’s not very difficult to implement something like that. But this was one of the few times I saw a realization of a easy, simple idea that could be so impactful.

In less than an hour, I was able to complete my business and get on with my day. I’m happy to see these service improvements and I’m looking forward to seeing more of this all over the country.


Dirt. Mud. Progress.

Jesus was born in a manger, so I cannot be too sour that to register the birth of my child I have to stand up under a tent in the rain.

Waiting in rain.

So, under that tent, ducking the wet seats, were a few parents. The instructions we received were to book an appointment at the site to register the fact that a new player had entered humanity.

Registering on the site to me was a breeze. No really, I felt the breeze blowing on my verandah in the comfort of my home when I filled in my details and promptly got a date to turn up. It felt easy. Maybe too easy.

Indeed, no tents or mud was mentioned.

When the day came, I wended my way around the Port of Spain General Hospital to arrive at the location in the appointment.

I know where the Blood Bank is located. When I saw “Blood Bank Compound”, I interpreted that to mean that the registrars were sharing the facility of the Blood Bank. Same building, maybe with their own office. The Bank is a small building, so I was curious as to the lay of the land in there.

Walking up to the guard, he seemed to sense that I was going in the wrong direction.

“Going to give blood?”

“Na, I -,”

“Oh, you’re Blood Bank staff.”

“No, I’m here to register a birth”

He spun me around with a nod of his head. He was confusing me while giving me direction. The area he pointed behind me was the carpark. But in that carpark was a nondescript shipping container. A big box. In that big box were the registrars for births.

A different breeze started to blow.

I stiffly walked over to the box, er container, and began the process. Very soon in to the interaction, I was made to understand that though I followed the guidelines on the registration site, I was still underprepared. I needed to go back home.

When I returned, the breeze became a Port of Spain storm. A Port of Spain storm is not a real storm. But the flash flooding, garbage flow and general concern for your car is as real as going through any actual storm.

And we waited in the tent for our names to be called.

While I was waiting, all documents in check, I was just about to check out, that is, while away the time on TikTok. What stopped me was a couple that walked into the tent, looking more confused than me. They asked to no one really about the process. A lady with a latin accent explained it to them. You have to register on “the website” to be able receive service.

The website. These days, there’s always a website. Few know about it, and as I was about to learn, even fewer can actually use it.

The couple were a bit put off. The wife of the pair said she had tried the website but it didn’t work. There was no crowd waiting to be dealt with so we all thought, they might have had a chance to get through.

The did not get through. The staff told them they needed to make an appointment on, you guessed it, the website. I knew what the site was, had a relatively straightforward process using it and was ready to scroll silently when it hit me, the couple might need help.

I offered to walk them through it and as is often the case, looking through the eyes of the end user saw things that you never see as a developer or denizen of these kinds of systems.

Sharing the good news…

The carousel was a bad design choice here. The site rendered well on mobile, but was too dense. Sign up and Login are sometimes confusing steps for users. Forget your password should not work if you don’t have an account. A really important question for when you’re dealing with a broad class of users is “How can someone struggle to complete this step? How can they get unstuck?” Essentially, how do we get users back on the happy path?

Getting them to get an appointment took much longer than I anticipated. And yet, because they could probably sense my own confidence, and were motivated to finish, the process did not feel frustrating. It felt like we were on a hike, maybe through the dirt and some mud, but we were definitely going somewhere and our destination would be rewarding.

And rewarded they were with a fresh appointment for two days from today. They knew they had to come back, but they were sure that they would not be turned away again.

So, my own visit resulted in more registrations than I planned. It’s normal to go through a range of service delivery challenges, especially with government services, but my own frustrations fell away when I saw that a more fundamental access problem existed. That turned my negative experience into a positive one for a new family.

Advocacy Bots

#MSBuild 2021 Table Talk: How it went

In a recent post I mentioned moderating a table talk at this year’s MSBuild along with Erik Kleefeldt.

By design, it’s meant to be like a hallway chat with a bunch of people about tech we’ve been using/playing with/excited about. This hallway was huge. 318 people turned up on Teams to talk about extending it in some way or other.

Erik and I met with Anna, Andy and Joey from Microsoft in the preceding weeks, to get oriented, nail down a flow and just get a backstage peak at some of coordination it takes to pull off an event like Build. (Hint: It’s a lot!).

We had a good idea about what we would do, I’d introduce, he’d conclude and stuff like that. And then when the meeting started, I had jitters, my machine had jitters and I wondered if we would actually get started at all. But then, I told all my new friends that I was super nervous and everything just settled down.

Top things we spoke about:

  • Fluid Framework
  • Viva Connections
  • Upcoming Meetings and Calling API

As a hallway chat, like in real life, there’s no recording, but those topics are great areas to explore further. I’m definitely looking forward to the new media API – to get me out of being stuck in the middle of my current project.

Overall, this was a lot of fun, Build was plenty vibes & plenty action and I’ve got a lot of unpacking to do from my backpack.

Advocacy reference counting

A quick take on a hot mess

I saw that response from Dona Sarkar, who I’m following on Twitter. Since I’ve been following her, from what she shares I could have guessed her response. Dona leads advocacy on Microsoft’s Power Platform, while also running her own fashion house – PrimaDonaStudios.

My own first response was, “wow, talk about a horrible take”.

The thread because of Jack Forge’s post refused to quietly exit my mind. It wasn’t a massive controversy or anything but there was something more.

Then I remembered the 99 Percent Invisible podcast had a series of episodes looking at the history of design in fashion, clothing and textile. And in the very first episode, they identified the relationship between garment construction and engineering.

That’s a tweet I shared about it sometime ago.

That first episode reveals punch cards, among the earliest storage media for computing were used for – get this – design patterns, in making clothes.

A snippet from 99Pi’s “Articles of Interest”, episode 1.

I remember driving to the office listening to that episode and doing everything I could to not pull over and call my wife – she’s a costume designer to say, “AYE!” for no reason at all.

So, when Jack came online to forge a post that revealed ignorance about the history of Jacquard Looms, I felt I had to help untangle the truth.

Fashion and code share a history so closely that even if you don’t personally care about what you wear, their relationship cannot be ignored. How those actual clothing articles are made and why they look & feel like they do are precisely why one might even say fashion is a form of output written in a programming language used by designers around the world.

One more snippet. Programming owes a debt to the fashion industry. We shouldn’t forget it.

Advocacy CUI

#MSBuild 2021: Teams Table Talk

I saw this tweet 👆🏾 and thought, I should send a topic.

Since I’ve been recently building bots and extensions in Teams I focused my topic on just that – extending Teams. I hadn’t heard about table talks, but Microsoft started making them possible in a few conferences before Build.

My topic was accepted, and along with Erik Kleefeldt, we’ll be hosting a table talk on “Extending the Microsoft Teams Experience”

Erik and I have met a few times and we’re excited to share the experience. Table Talks are meant to be like those hallway conversations you might have on your way to a session about topics you dig. They should be welcoming, open and good-natured, really.

This should be fun!

Extending the Microsoft Teams Experience – May 26, 2021 9:30 AM AST (6:30 AM PT).
“Build the next generation of productivity experiences for hybrid work”
RSVP early to join.

Advocacy teaching


I’ve never been to bootcamp. I wasn’t even in the Scouts growing up. So, unlike most of the posts on this site, which features a story about something I did or was involved in, this is largely my views on a question.

Here’s the question, “I’m a twentysomething-year-old with regular computing schools, I have a non-IT career, but want to make a switch, what should I do?”

A few preliminaries:

  • I’m not trying to convince you to do IT
  • You’re willing and able to devote time to make a switch
  • Everything following this is a suggestion mostly based on opinion, with a dash of experience

I heard that question and immediately thought, “Not a degree”. It’s not that degrees are bad, or that I’m in the anti-degree movement. I think degrees have their place, but for adults, who are probably in a clearer place with respect to their needs, and who don’t need too much handholding, a degree feels like the wrong approach. Note, feels. Some might tell you go ahead and do a degree of some sort, and that’s OK, if you have the inclination and time (and money), go ahead.

So, if not degree, what?

There are many voices online about why to do an alternative to a degree when considering a career switch. I’m taking this from one of two starting points:

  1. You’ve advanced to some degree in a non-IT career, and you would love to add some form of IT as seasoning on top of that. For example, you’ve been in banking and finance, and have been hearing about the wonders that can be done if you get a handle on data science.
  2. OR, you hate what you currently do. Every day is a slog, and though it pays the bills, which is important, you’d love to get out and do something else. The something else you’ve settled on, is something in IT.

If you’re in camp 1, then I think it’s good to look first for people who have already made the switch. Depending on your industry, they’re easy to find, they might have blogs, or tweets. They might be in your office, or across the world. You might know them from the books they’ve written, or you use something they’ve created, like a tool to get work done.

Find a few of these people, and create a matrix that tracks how their career has evolved. See what they studied and when, look at the order of growth for them. Did they take a few courses? Did they blog about their journey? Did they join any groups? You’re not trying to copy their path necessarily, but it would be good to open your eyes to the kinds of pathways you can explore.

People in camp 1 tend to want to use the aspects of IT they like as ways to get their overall life goals accomplished. They don’t see programming or data science or some aspect of development as their new passion, instead as a way to further their existing skills in their current field. That sort of person is looking for a bridge between what they know and what they need to know.

In the past, they might have done a masters to fill that need, but now, it might be a menu of courses that closely relate to their existing field – the specific list should be clear if they did the work of selecting a few people to study and glean good ideas from.

Now, if you’re in camp 2… that’s something else. You’re starting over or maybe even picking back up from a long time ago. Your first step doesn’t have to be daunting. As opposed to looking at people, you might want to look at areas in IT. Even the term “Information Technology” is a bit long in the tooth. But it still tracks. Look at broad areas, and do some YouTube surfing for talks that describe how those areas work in real life. It might be on the design side, or security, or something called back-end. You’re trying to get a sense of why the area is important and whether you feel a broad pull to dig at it more.

IT is hard. Maybe you haven’t made any real investment yet, so let’s get that out of the way. But I hear that any career that you want to do really well at is hard. You generally have to figure out if the hardness of an area lines up well with what you want to spend your time doing.

Once you find a few areas you dig, there are quite a few providers online of good standing that can provide you with courses or rather collections of courses to get you a sense of awareness of what working in that area can be like. I don’t know of any course-list that will just give you everything to simply be a professional in your chosen area. What most courses should aim to do is make you conversant in the area you care about. That’s usually enough to help you “Google your way to success”.

Let’s say you chose software development. Googling, “bootcamp software development” will yield way too many results. It’s good to talk to working software engineers to help weed out some of the starting results. At first, my results of that query yielded this great article, essentially saying “be wary of bootcamps”. It’s good advice and paints a decent picture. Bootcamps aren’t a cure-all. But as I said, you’re probably working and don’t have the luxury of doing a full-time degree, but may be interested in getting into the field.

Since I use a site called “StackOverflow” a lot, I searched that network for some perspective. This was a good Q/A on the question of bootcamp vs something longer.

In both articles above, an important takeaway was that any education in software development is necessarily only a start, and it can take a while for the way (to paraphrase Mando) to even make sense.

Yet, using a decent bootcamp/starter experience to understand more of the field you’re trying to switch into as an adult is a good strategy. You have to keep your eyes open and trust the instinct you’ve developed, it will help you know when what you’re trying maybe isn’t working and when you need to switch things up.

I don’t have a lot of experience with actual providers, but I like what CodeNewbie has been doing in the space of getting new people into the field.

This whole post was a suggestion, filled with opinion. HTH.


“Never code for free”

A post on the Caribbean Developers group

I can get where this advice is coming from.

For newer devs, there can be a lot of “opportunities” to write code that benefit other people than the developer producing code for some solution or other. I mean, it might be someone’s “killer app idea” or a code-for-equity something, or one of those “hackathons” intent on engaging innovative people to help some firm or cause figure things out.

But a lot of code you write, especially when starting out is going to be “free” code. Finished a tutorial and want to explore some aspects of the language? That’s free code. Spent some time considering some technology and want to see how it work if you put something together, quickly? That’s free code, too.

You might have even seen an implementation of a solution and thought, “perhaps I can reason about that differently”. And you spend some time hacking together that approach. That’s free code.

As it turns out what some people call free code is just a part of how we developers learn, build and grow. Not always in that order. Ultimately, a more nuanced perspective is that one should learn to ask, why is this code I’m going to write valuable to me?

The answer to that should help determine if you want to press into an idea via code, or not.

Advocacy Cloud Collaboration

Back to the Sky: Processing Satellite Data Using Cloud Computing

From time to time, I work with researchers on projects outside of the day to day, forms-over-databases stuff. Mind you, I like a nice form over a cool data repository as much as the next guy, but it’s definitely cool to stretch your arms and do something more.

So, when Dr. Ogundipe approached me about cloudifying her satellite data processing, I had to do a lot of research. She had a processing pipeline that featured ingesting satellite images, doing some data cleanup, then analyzing those results using machine learning. Everything ran on local machines in her lab, and she knew she would run into scaling problems.

Early on, I decided to use a containerized approach to some of the scripting that was performed. The python scripts were meant to run in Windows, but I had an easier go at the time getting Linux containers up and running, so I went with that. Once the container was in good order, I stored the image in the Azure Container Registry and then fired it up using an Azure Container Instance.

Like a good story, I had started in the middle – with the data processing. I didn’t know how I would actually get non-test data into the container. Eventually, I settled on using Azure Files. Dr. Ogundipe would upload the satellite images via a network drive mapped to storage in the cloud. Since I got to have some fun with the fluent SDK in Azure a while back, I used it to build an orchestrator of sorts.

Once the orchestrator had run, it would have fed the satellite images into the container. Output from the container was used to run models stored in Azure ML. Instead of detailing all the steps, this helpful diagram explains the process well:

Super simple.

No, not that diagram.

The various cloud resources used to process satellite data in Azure.

So, I shared some of this process at a seminar Dr. Ogundipe held to talk about the work she does, and how her company, Global Geo-Intelligence Solutions Ltd uses a pipeline like this to detect locust movement in Kenya or the impact of natural disasters and a host of other applications of the data available from satellite images.

Advocacy TrinidadAndTobago

Making a living building mobile apps in Trinidad & Tobago and other stories

This blog post title sounds like a book. 😁.

Back in 20-some-teen, I built a windows phone app called Police Post. It started off as a reasonable idea – provide an offline version of the list of police stations in Trinidad and Tobago, with their locations and contact numbers.

I had some quirky app names back then… they eventually became quirky chatbot names, but more on that some other time.

I later jumped the shark by overlaying the map of police stations with information about murders that happened in the same region as a police station.

Even writing that makes me cringe a little. Back then, I was convinced, “This is a good great idea for the app”. Now, I’m like, “Why…..?

I remembered Police Post while I was preparing to deliver a presentation at the Trinidad and Tobago Intellectual Property Office’s seminar on “How to make a living from mobile apps”. My focus was on the state of the mobile app development in TT.

I found while preparing for the talk that there was a lot to be said about how active trinbagonians are with their mobile devices, but not necessarily with local apps.

So, a stat like this would be familiar to a lot of people who care to do the research. There are lot of phones and a good bit of social media usage on those devices.

And, using the top free apps in the Google Play Store as a proxy, it only confirmed that we really like social (and Google Translate).

Rank Name Category
1 TTPS – Trinidad & Tobago Police Service Social
2 WhatsApp Messenger Communication
3 T&TEC Mobile Communication
4 Free Phone Cleaner – Cache clean & Security Tools
5 Messenger – Text and Video Chat for Free Communication
6 Instagram Social
7 Snapchat Social
8 Facebook Social
9 Wish – Shopping Made Fun Shopping
10 D’Music Music & Audio
11 TikTok – Make Your Day Social
12 CallApp: Caller ID, Call Blocker & Call Recorder Communication
13 King James Bible (KJV) – Free Bible Verses + Audio Books & Reference
14 Google Play Games Entertainment
15 Tubi – Free Movies & TV Shows Entertainment
16 Netflix Entertainment
17 Traffic Cam TT Travel & Local
18 Facebook Lite Social
19 Messenger Lite: Free Calls & Messages Communication
20 Safe Cleaner Plus Tools
21 Google Translate Tools

Since I was concerned about making apps, as opposed to just using apps, I produced a list of the top apps by usage that were made by trinbagonians:

Rank Name Company Category
1 TTPS – Trinidad & Tobago Police Service TTPS Social
3 T&TEC Mobile Milsoft Utility Solutions Communication
10 D’Music Digicel_Group Music & Audio
17 Traffic Cam TT Trini Interactive Travel & Local
41 TT RideShare TT RideShare Travel & Local
45 RBC Caribbean RBC Financial (Caribbean) Limited Finance
46 Larixon Classifieds Shopping
53 My Digicel Digicel_Group Tools
74 Scotiabank Caribbean – Banking Scotiabank Finance
76 bmobile Top-up Powered by Shopping
96 Caribbean Airlines Caribbean Airlines Limited Travel & Local
98 RepublicMobile RepublicBankLimited Finance

A more diverse list, pretty corporate, but seemingly high on the “getting things done” measure.

Both lists were a snapshot of top apps on November 10, 2019. The TTPS app was released the week before, and people were responding. TTPS seemed to have had a good push behind the app, so that’s good.

This may be why I remembered Police Post. Another reason that brought it into focus may have been because of these sentiments I got from Julie David, a Senior Policy Analyst at NIHERST.

Julie and her team have been working on a sectoral mapping of the software industry in TT, so I thought her insights might be useful.

They certainly were as they gave me a snapshot of the state of affairs that I recognized. Here are a few of those challenges:

  1. Small companies
  2. Lack of strong cohesion between business models & development
  3. Lack of design & UX quality

When I built Police Post, it was a small app, meeting a specific need that made no assumptions about having a business case. So Julie’s feedback to me was on point. Around that time, one of my key goals was simply demonstrating capacity.

I was making the statement, yes, we can build apps, focused, useful ones. Now, I’m here to say, yes, we can build business on top of platforms that include mobile apps.

My presentation concluded with looking at stats on global Internet trends. Mary Meeker’s report on those trends was an excellent resource for this and I hope that we all would use it to inform our next steps.