Categories
IoT

Birbicam.

When I posted that video on IG, I knew I wanted to come back to it. My mechanics of capturing that story was a bit precarious: I propped my phone up on a rock, and hoped that in the video being captured, a bird or two would feature before I ran out of space.

So then I saw Alex Ellis’ tweet about using an RPi to track plant growth and I remembered I had a Raspberry Pi just lying there, waiting to get used.

Thus, my mind went into overdrive. I started to focus on the hardest part of the mini-project: Bird detection using Python or Tensor Flow on the Raspberry Pi. I hadn’t even turned the thing on yet. No OS installed. I didn’t even know if those super cheap sports cameras I had lying around would work.

I just mentally swam around in the deep setup, maybe even going to get some OpenCV involved.

Eventually, I calmed down. And began the pedestrian work of setting up the Pi, finding a working camera and getting the networking right.

When I had everything all put together, I cracked my knuckles to dive in deep learning. Before I did though, I thought I’d explain to my wife what I was going to do:

  1. Point the RPi at the birds
  2. Write a script to stream the camera’s output
  3. Find an machine learning model to take the video and detect the birds
  4. Send detected birds somewhere

“Why not use a motion sensor?”, my wife queried.

Maybe literally the first result on google, I found this article that walks you through in very clear steps how to setup a motion sensor using your camera on the Raspberry Pi.

I was getting emails and videos of birds in half an hour.

Categories
Uncategorized

In the forest, the poui falls different

I leaned on a tree after my seventh rope, it felt like. I was good and proper bun.
Then the neighbourhood watch appeared. A beetle here, some ants that clearly grew up on cassava and two wasps. I had to get up.
I put my hand on a tree to stabilize and a member of the bush welcoming committee bit me. So now, I’m cross, angry and bun out.
I didn’t even see the the offending animal afterwards. It’s like he was saying, “Get a move on, interloper”
To the understanding, this thing was the hardest hard. The thing is, I was already 5.7 miles in. You can’t go back, and have zero inclination to go forward. If I saw some teak, I might have built a house in the forest.
But one foot in front the other, one hand over the next and eventually I made it to a beautiful flower.


While doing what one does when it’s no longer a race and more of a series of questions about your life choices, an old man deftly, wordlessly ran past me.
In the normal world, a runner such as me would treat that as an invitation to share some linx out. But in the forest, the poui falls different. I just kept taking my photos and returned to more rope.
(Yes, Irwin, you do need those gloves)
I made it out. Barely.

Categories
Advocacy teaching

Bootcamp

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.

Categories
CUI

The Air IQ Agent

Last year, at the Caribbean Developers virtual gathering, I demonstrated a bot that displays air quality information based on sensors at a few spots in Trinidad & Tobago. My remarks on it can be seen here.

This week, I went ahead and pulled together the work to publish that bot as an Action on Google.

The bot will surface the same information available at the environment management authority has on their site.

I tried to show it to a friend and found it a bit difficult to invoke. You have to say, “OK, Google, Talk to air IQ agent” just so, for it to work, and then, it just says “Hi there! What area are you interested in?”.

If you look at your phone or other assistant screen, it’ll show the options.

But it won’t actually say anything else. You have to just know the area choices. Should I have caught this in testing? Yes, but I may have been working on getting it all to work and less focused on how it actually works.

So, that’ll be fixed. Nevertheless, I’m glad to explore yet another channel for virtual assistants and in cases like this, I feel it’s much easier to talk to your assistant that remember which site should be checked to find out factoids like this.

Categories
Cloud virtual reality

Along came a squid

Finalists in an VR challenge in Trinidad and Tobago

Explore Tobago – Underwater.

That’s the whole idea. Last year, marine researchers out of Trinidad and Tobago produced some amazing imagery capturing numerous locations off the coast of Tobago.

A slice of life from the Maritime Ocean Collection

Their project is called the Maritime Ocean Collection and it features many 360-degree images. So with the right device, you could look all around in a given image and get a decent appreciation of a particular spot.

As a scuba diver, I was enrapt. These images came out right after I had really good dive, that I couldn’t properly record. My camera gave out on us and we were super disappointed. They let me re-live those recent experiences, especially as they were still very fresh in my mind. And they showed me how much more there was to go.

Literally a month after I saw the Collection, the The Caribbean Industrial Research Institute (CARIRI) announced a VR competition.

My ideas as a developer, experiences as a diver and curiosity about the work of those researchers gave me that push to participate in CARIRI’s competition.

The result was Explore Tobago – Underwater – a prototype that let’s you do just that. It’s web-based, can be used with something as simple as a Google Cardboard and uses images from the Collection. The idea of “walking around” underwater, clicking on an interesting object and learning more and getting even a sense of that world is the core goal.

Explore Tobago – Underwater. Proof of concept.

This VR project made it all the way to the finals of the CARIRI competition. The finals. We didn’t win. I was legit sour for a whole minute.

But my team had decided to collaborate with the Collection’s researchers to build this out regardless of the result. The value of the idea as a tool for education, exploration and just a very cool way of seeing our natural resources was much greater than the estimation of a competition’s judges.

As the developers and researchers who met because of the competition started to talk and explore collaboration to make it reality, Microsoft Ignite dropped an amazing bomb.

The Squid, in VR at Microsoft Ignite.

The explanation for that squid starts from about 71 minutes in on the video below. Researchers, Edie Widder & Vincent Pieribone demonstrated mixed reality solutions, focused on underwater exploration.

I mean. My jaw dropped. It was so cool. It was also a great point of validation. Watching them talk about the kind of inspiration, the way VR can be a doorway for education and excitement were the same beats I flowed with when talking about Explore Tobago – Underwater.

There’s something the government representative said in their remarks in the first video above. It was that the VR solutions proposed can stand up with any in the world. As I wrote, we’re exploring how to make the experimental version real. It’s a tough journey, but we can already see that making it, both connects to a global movement and demonstrates to the world the beauty of our home.

Categories
Cloud TrinidadAndTobago

If a tree falls in the forest…

At about 5:00 am, the fans stopped spinning. And we knew there was a power outage. We rolled back to sleep in the embers of the night and thought, “oh well, they’ll sort themselves out”.

We were jolted out of sleep two hours later, by the loud noise of a crash down the road.

A massive tree had fallen. It made the electricity company seem far more prescient than I had ever given it credit for.

The tree that collapsed pulled down wires from two poles, caused one of them to fold over into an acute angle and pushed cords into the nearby river.

Early morning, early January disaster.

By the time I walked down to check out what was going on, with only my phone in hand, the community response was well underway.

The community seemed battle-hardened by these events. My wide-eyed, city-boy confusion melted away. A man in a van turned up with not one, not two but three chainsaws. Others turned up with rope and van man, sent for gasoline.

The army was on the scene relatively quickly too. Closed the road and essentially kept people who weren’t helpful at a useful distance. Me, the kept me away.

The men of the neighbourhood started cutting and when the fire services arrived, with their coordination and support the tree was eventually moved aside.

Cars could pass once again, though of course, slowly. By the time the electricity company arrived, the road was clear enough to let them begin the repair process.

The situation reminded me about the need for status updates from utilities. There’s clearly a chain of events needed here. The community response was an amazing, welcome first step. But it seemed like a proactive neighborhood. The baton was passed to the fire services, which made the way for the team from the electricity company.

Who would tell the other service providers? I didn’t see any communication utilities on the scene. Were they aware? Would they spring into action like the men with the chainsaws? This is doubtful.

Also, my family and I temporarily decamped to a place to get power, Internet and some chill. When should we go back? Again, it would be great to either check something like “status.utility.co.tt” to find out.

For now, I’d actually settle for an SMS or WhatsApp from the providers. To date, we’ve gotten none. It seems like the best response will remain that of individuals and neighbours, who proactively set up their own systems, limited as they are, until better can be done.

Categories
Cloud Tracks

Save (your data from) Endomondo Month!

Heh.

I hereby dub December, 2020, “Save your data from Endomondo” month. Why?

Endomondo’s retiring from the game.

So, given this state of affairs, it would be wise to ensure your data on the Endomondo platform is exported to somewhere. I made a request via their site to get all 789 of my workouts from there and a few days later, I got an archive that included this folder structure:

I wanted to do some analysis on my workout data, so I created a really simple ingestion tool that takes the data from the json documents in Workouts/ and inserts them into a SQL Server database.

The tool can be found in this repo.

The key thing about this tool is that I had to fiddle with Endomondo’s JSON output to get it to play nice with my approach to serialization:

https://github.com/irwinwilliams/endomondo-json-to-sql/blob/master/WorkoutExtractor.cs

I’m not super-proud of it, because it could be very finicky, but it got the job done for my purposes. I deliberately rejected pulling in the available lat-lon data from the runs, because I wasn’t interested in it for the moment, but a slight modification to the approach I’ve taken will accommodate that.

So, I’m glad the data is ingestible now, and I hope to do some cool stuff with it soon.

Categories
Advocacy

“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.

Categories
Uncategorized

Less wizardry, more automation

“I want to book an appointment with to renew my license in Arima at your nearest available date in the morning”

I wonder if I can make a chatbot that does this?

It’s a reworking of this, https://licensingappointment.mowt.gov.tt/

#TODO

Categories
Uncategorized

Agents of TEAMS

Hey!

Last week I presented at DevFest Caribbean. It was a Google Developer Group event, where the GDG of multiple regions came together, it involved the groups from Trinidad and Tobago, Guyana, Jamaica and others. There were some really good presentations, and you can check them out here.

My presentation focused on virtual agents I created in Microsoft Teams. I demonstrated a messaging extension from Microsoft, that I extended to work with BambooHR’s platform.

Exercise is a big deal at Teleios. So, when Geon demonstrated his Power App, it inspired me to make a virtual agent to help with updating. In my presentation, I showed a bot that uploads data for access to the Power App … plus, it pushes updates to Strava!

The Ministry of Planning has a website for checking air quality in T&T. I wrote an API to talk to that site and then a bot that works in Teams directly. The bigger challenge in this agent was getting something, anything really, up and running on my google home mini. And I did! So, I was very glad.

Finally, I’ve started experimenting with virtual agents that can interact with in-progress meetings on Microsoft Teams. I heavily relied on the Microsoft Graph samples library related to accessing meetings. I got a zany bot to work. It can inject audio into live meetings, without anyone having to share media from their devices. It’s great for sound effects, like a play off sound for people who are taking up too much time in a meeting.

All told, presenting at DevFest was fun, yet again. It was my third time presenting, and third year in a row talking about conversational user interfaces. You can catch the whole talk here: