Hello World 2.0

Hey,

Last year, I saw this:

And I thought, “Aye, I would love to contribute to that!” So, I sent a session proposal and it was accepted!

Now, I get to join an impressive lineup of my peers and share on technologies I find to be exciting, relevant and impactful. I’ll be talking about topics I’ve been working with for a while now, including chat-bots, AI, language understanding and other cloud services.

What’s also groovy is that for this week, there’s a pretty sweet discount on attendance:

Registrants can save 40% on attendance. All Access tickets will be priced at $2495 TTD + VAT and a 1 Day Pass at $1495 TTD + VAT. This means that registrants can get a Full Access ticket for less than the cost of a regularly priced 1 Day Pass.

You can get more details of the conference here.

I saw the guys at Microsoft Build do this, and I loved the idea, so I’m doing a version of it here, it’s a “Convince Your Boss” template that’s amazing:

Convince Your Boss!

Dear <Insert Manager/Boss/Supervisor Name>

I’m really glad that we’ve been exploring ways for me to stay current with all the new technologies that could significantly make how we work more efficient, robust and competitive. I think I’ve found a place that helps us advance those goals.

In May, the signature gathering of ICT minds in TT and the region is happening, it’s called ICT Pro TT and it looks amazing. There’ll be talks from local luminaries, researchers and professionals in the ICT space, talking on Cloud, BI, AI and Leadership. 

They’ll be joined by award winning professors, international speakers and representatives from IBM, Google and Microsoft who will share a breadth of experience and expertise in some of the same areas we are considering for our next steps.

But one of the best reasons for me to attend is that this will provide a place for me to find and mingle with the community of seekers in our local ICT space. I want to see and hear from my peers who are actively trying to advance the nation by building great companies and organizations that are data-driven, willing to make new things and learn along the way.

Normally, we’d have to consider the expense of travel, accommodation and other amenities to access all this goodness in one space. ICT Pro TT helps remove all that and brings the value here. Thus, I’d love if you strongly consider having <Company Name> send me to this event.

Advertisements

Hack for nutrition

Last weekend, I attended the Trinidad and Tobago leg of the WSIS’ Hack Against Hunger event.

I was talking with Dr. Bernard about a new Teleios Code Jam initiative and she let me know what was going on at the weekend.

So, I went on Saturday to hear what it was about and wondered if I’d have any time to build something simple.  The hackathon had a really nice premise:

HAH_Snippet

Hackathons tend to be pressure cookers, so I wasn’t game to spend all night and day building something. Largely because my wife and child would not have been impressed, but I could have carved out some space to put an idea together.

“Carving out some space” really meant getting three hours of sleep while stumbling around datasets, doing the dishes and taking care of baby. An good solution came together, though.

I tackled nutrition, using my own experiences with trying to find the best food for my family. Best of course being relative. One might think that means most expensive, when really, it can mean, most appropriate. For example, our pediatrician told us, lay off the flour-based spaghetti and dive in to more ground provisions for our baby girl. That stuff can be pretty cheap in the local market.

Thus, I spent my time hacking together a virtual assistant that will help with finding out both the locally produced foods and their nutritional content. I called the bot Miss Mary. Largely because the old lady in the market that I ask questions like “what’s this thing?” and “how do you know that pepper’s good?” 1. It was cassava yam and 2. Because she ate it raw. I don’t know her name, but she reminds me of a shopkeeper in a place I used to live, who was called Miss Mary.

Presentation time, I didn’t have one, so I put this together to help tell the story.

I wasn’t able to stay for the remaining presentations, but I was told they were really good. I’m looking forward to hear more of what was built! Ultimately, the first prize went to Sterling & Keshav. For their troubles, they’ll be headed to Geneva later in March to compete once more.

All the best, guys! 🙂 #KeepHacking

PS: I’ll release a version of Miss Mary a bit later on, I was excited to share the story! 🙂

Bots State

Ok, in 2016/2017 these were the bots I made:

Nurse Carter

Hansard Speaks

Time for Water

For some reason, I feel like there were more. Most likely, that’s because of perhaps just iterating on those above. I did make a few PoCs for work, like collaborating on the Teleios Code Jam one with our intern at the time, Joshua.

I also made a few ones we used for demos with clients, those put together things like QuikWorx, our low code solution creator at Teleios with SharePoint and Cortana.

This year, there are a few I’m going to go after in addition to iterating on the ones above. A friend of mine asked me to make a hybrid QnA CUI application. This tweet by Gary Pretty about a new way to sync QnAs might bring that back up.

My next new bot will be one that uses the Consumer Affairs Division data in some way. I hope to finish that over this long weekend in Trinidad.

One of the changes I’ve not been on top of have been to the Microsoft Bot Framework.  They’ve gone to General Availability and bots on the bot framework developer portal need to be moved over to the azure portal by March 31.  I’ll both move and update dependencies with the move to keep current with how to do things on the framework.

So, that’s it. I hope for more collaborations with the updates this year and perhaps more frequent updates.

One line made all projects better

For the past few years, the final project for the course, COMP6905 has been a research write-up.  This year it was no different, but there was a key addition to the requirements:

Design a cloud service based on research being done on campus

Each proposal had use current research or support research work being done. As an approach, its something we explored over at Teleios Code Jam before, but with a bit less rigor. One year, we required teams to base their submissions on articles that appeared in the media. It produced a lot of solutions with disaster preparedness/flooding as the focus.

But this class, they went to town with this requirement. We saw proposals for cloud services focused on the Seismic Research Center, on diabetes research, on alternative energy and even on cocoa research optimization.

There was no requirement to involve the actual researchers in the proposals as their published findings would have been sufficient evidence for my needs. However, there are already a few researchers expressing interest in taking these proposals further.

One goal of teaching cloud is to produce a set of people who understand the technology and are willing to build cool stuff with it. I’m looking forward to see what comes of these proposals.

Who are some of the regional cloud service providers?

Find three regional [From Belize to Guyana] cloud service providers. One must be IaaS [must  be unique]. Detail their service offering. Other two must be unique across class. Groups of two.

This was essentially the meat of the first class assignment for this year’s Cloud Technology course.

I’ve got ten pairs of students sending in reports. These were the providers they focused on:

IaaS Service Other Service 1 Other Service 2
Cloud Carib Teleios Systems (PaaS) Grupo Eximo
T-Tech (a cloud adoption agent) CCIHosting NAAP Global Solutions BVI (IaaS)
CP Enterprise (an IT service provider) infoexchangeja (cloud service reseller/consulting firm) TSTT (data centre provider)
Curacao Technology Exchange (IaaS) Digi-Data (cloud service reseller) Digicel Business (IaaS/SaaS)
Racklodge (IaaS) HRplus Scudetto Software & Design Company (SaaS)
Costa Rica Servers (IaaS) Claro cloud (IaaS) Rack Nation
fastCloud HeadOfficeHeadOffice Cariri
Link Bermuda Secure Hosting Ltd. Brac Informatics Systems
Global Nexus Idea Lab’s Orchid ORS LoanCirrus
Kryonyx IslandNet (managed services provider) Fresh Mango

You’ll notice there are some companies from Costa Rica & Curacao there, I added in those countries after there were complaints that there weren’t enough providers to be found from BTL to GUY. I called cheese on that, but still opened up to a few more countries not typically associated with the Caribbean.

Doing this exercise brought to mind a need to create something of a Caribbean Cloud Registry. As I wrote that, the word  “Foundry” came to mind, but the guys at pivotal sort of have that locked down, I think. But the point remains, a place where you can at-a-glance see who the cloud players are and what they offer.

One of the things I wanted from those doing the evaluations was a discerning eye on whether the service providers in question were offering actual cloud services they built or if they were cloud journey enablers. As an enabler, they may have been either reselling or consulting and supporting an organization’s journey to the cloud.

Cloud enablers providing a necessary service, leading the interested to get to cloud. Without them, organizations can easily get lost in the details of implementation too soon, or make costly missteps when starting out. However, this assignment is not about them. It’s about those who are practitioners in the world of building cloud solutions. This assignment largely involves finding and understanding the context of the cloud service builders.

Not every -as-a-service marketing brochure means the seller is a cloud provider.

Friendomondo

Just completed the 2017 edition of the University of the West Indies’ International Half Marathon.

This was a brutal run in beautiful weather. The “race” starts at 5:30 am. Last week, stormy weather was on the cards. Some might believe running in the rain is a joy, but not for 13.1 miles. Thankfully, it was very cool for the duration of my run, no sun, no rain & a light breeze.

I often start off too quickly. The PhillyNet Half Marathon training started just before the middle of the year in earnest and through a series of long and short runs, strength work and other training, the team and I got in to racing shape. 11 of us ran the race, but more than double that at times trained with the team. We had many supporters, on the course and online. But anyway, I still start off too quickly. I may have some overall race pace that I want to maintain, and invariably, my first mile is off. That’s where Endomondo comes in. I start it up on my phone, and at the end of mile 1, the Endomondo Lady announces, “Aye! Stop! You’re going too fast, slow down!”. OK, no, she doesn’t do that. Instead, she announces that I’m running at 8-something a mile or some such and I know,
“Oh, if I want to finish this race in a decent overall time, I have to slow down”. Today, E. Lady was quiet. I got to mile 1 and heard nothing.

Immediately disappointed, I expected it was because even though I started it at the start of the race, bad GPS or some android-y thing had thrown things off. Since a mile had passed, I was not interested in getting it going if it was off. Anyway, I felt good. I just didn’t know what time it was.

I would have run the entire race time-blind, if not for this year’s UWI half innovation: race pacers. Either they were provided by UWI or some other club, but they were golden. Well, not literally. I saw a 1:50:00 pacer and a 2:00:00 one. Keeping up with them would essentially give you a race result of their stated times. The 1:50:00 one flew past me after mile 2. And since I hadn’t seen the 2:00:00 for the first half, I judged to be between those finishing times. But having a pacer in no wise means having the power to finish at those times. So, I had to be careful.

With no E. Lady in my ear, improvisation became necessary. Since there were so many runners, finding and keeping pace with someone on the course became a fun, mini-game. At first there was the lady from +One a Week, I kept up with her for about half a mile. Two ladies overtook me and ran on that spot I started to like – the exact middle of the road on the white line. So, I overtook them to reclaim my land. That cat and mouse lasted for a mile and then they bested me.

Coming up to mile 4, there was loud music. I liked it, then it got too loud, then I liked it again. The DJ seemed very proud to remix “Full Extreme” into “We Runnin Still”.

“The buildings,

Could fall down,

We running still… we runnin still.

The treasury,

Could fall down,

We running still… we runnin still…”

I mean, it sorta worked. Something about the loud music added some energy to my run that I intended to use later.

I met up with someone from TT Road Runners and that partnership lasted probably two miles. We got up to the turn together. Mind you, these aren’t announced things. It’s just that as a runner, you realize someone is next to you, they’re keeping pace and either you increase yours to leave them in your dust or you chill and maybe see how far it goes.

She eventually outran me and I was alone. The 2:00:00 pacer passed me at mile 7 or so, but then, my family, immediate and extended was there at mile 8, being raucous and extremely encouraging. Sophie, my 10-month-old, even deigned to give me a look and a small smile. All this probably being a bit much for her thankyouverymuch. I knew the pressure miles for me would be between mile 10 and 11 and a little after. By the time I got past the Eddie Hart ground, which is about a quarter mile after the 10 mile mark, I got into my head that I needed something to distract me. So, I started to count. I just picked a number and counted up to it.

Somewhere between 300 and 400 “counts” I met up TT Road Runner lady. She seemed to be having a hard time. So, I tried to return the favor. Shouting out encouragement to other runners gives me a slight jolt myself. I yelled things like “keep it up”, “this is the hardest one” and such. I don’t know if it worked. Running is a physical thing. Not a talking thing. To a guy who passed me that I was meeting up to, I yelled some more. For some reason, I was legit feeling OK, coming in to mile 11. There’s a hill up to mile 11 and another one up to mile 12.

To keep pace up the mile 12 hill, I pulled out and old trick: Father Abraham.  I just sang the song and sort of performed the steps. Way, it’s a long song. It worked, though. All the while, I kept 2:00:00 in sight. By mile 12, I returned to counting.  This time, down from 900. 900 because it would take me about 10 minutes to get to 1. I saw my wife, Sophie and #TeamPhillyNetSupporters again. Again providing a burst of joy.

I settled in my mind, a few weeks before the race that the half marathon is a 12.75 mile jog and a quarter mile race. I only really care to finish ahead of people at the very last piece of the run. So that’s what I did. I essentially pelted through the straightaway and for my effort, copped a really good time.

Going in to the run, I was expecting and said as much to do the race in 2:10:00 or 2:15:00. This result was very surprising and I think the combination of decent training with PhillyNet and random race partnerships helped me discover some new things about running.

WhatsApp Image 2017-10-29 at 10.53.39 AM
PhillyNet Runners and Supporters

PS: Oh, as it turns out, Endomondo was fine. I had my audio settings too low, so she was talking, just at a whisper.

 

Provisioning some test storage accounts for class

I wanted to create a few storage accounts for students in my class to complete an assignment featuring Event Sourcing and Material Views.

So, here’s what I did.

Download/install the latest azure command line interface (cli).
(While doing this, I realized I could have just used the cloud shell. I soldiered on with the dl)

Create a resource group to contain the accounts we’d need.

Create the accounts and output the storage account keys
The command to make a single storage account is pretty straightforward:

But I wanted to also output the keys and display them on a single line. The command to get the keys after the account is created is this:

So, I used the jq program in bash to parse the json result and display both keys on a line. Thus, I created a script that would create the accounts and then output their storage account keys.
This is the script that produced the accounts and keys:

Overall, the longest part of the exercise was dealing with the way the files were being saved in windows vs how they were being saved and read by bash. But the accounts were created and class can get on with assignment 2.