In Ottawa last month, at the celebration of the life of my late friend Laurie Kingston, each of the chairs in the Glebe Community Centre was adorned with a piece of knitting, created in Laurie’s memory.

We were invited to take these with us at the end of the day, and I put mine inside my bag, where I promptly forgot about it.

Last week, I noticed my bag was starting to get weighed down with various inessentials, so I set to clean it out, and rediscovered the pink heart I’d tucked there in Ottawa.

My new office, being a former Sunday School classroom, has an abundance of bulletin boards, but, at present, not enough thumbtacks. So Laurie’s heart ended up sharing a tack with a partial print of my letterpress map of Charlottetown.

I rather like the way they go together, and I appreciate having a little bit of Laurie’s spirit nearby as I work.

🗓️

I’ve mentioned this before, but it bears repeating: the civilized way to drive from PEI to Halifax involves a stop for coffee in Sackville, New Brunswick.

I’m the first to admit that this is counter-intuitive: driving to Sackville means a small amount–10km in each directions–diversion from the mad dash to the big city.

And it’s not even halfway there.

But this is part of the point: doing something counter-intuitive and pokey slows the trip down just enough to remove a lot of the mad from the mad dash.

Googls Maps showing the Aulac to Sackville diversion route

What clinched the deal for us was discovering Cranewood on Main, an excellent bakery cum sandwich shop cum coffee shop cum Mount Allison University student hangout. It’s tucked in behind Bridge Street, out of view enough that you might drive right by it if you’re not paying attention.

Their coffee is good, their sandwiches delightful, and their staff friendly. And they serve a macchiato in wonderful round-and-square glassware.

Coffee at The Cranewood

🗓️
Sackville  •  Travel  •  Halifax

Oliver and I spent the Easter weekend in Halifax; it was the tail end of his March Break. We drove over on Thursday night and returned on Sunday afternoon, packing a lot of fun and adventure into those three days.

Normally I’d post a “highlight reel” of the places we visited, but Oliver’s taken over the duty now, so I’m free from that responsibility.

Oliver at Edna

We finished our visit with brunch at Edna. There were chocolate Easter eggs hidden all over the place (you can see them if you look carefully at the photo above) and the service and food were fantastic.

🗓️
Oliver  •  Halifax  •  Travel

I moved the last batch of stuff out of The Guild tonight, thus closing the books on Reinventorium 1.0 once and for all.

Johnny and I moved into The Guild in January of 2012, so it’s 6 years and 2 months I’ve been there. Much reinventing was done. There is much more to do.

Thanks to Ghislaine, Wendy, Alanna, Michelle, Lloyd, Sherri, Anne, Gilbert and all the box office staff and fellow tenants that made it such a comfortable place to hang my hat.

What’s next?

🗓️
Reinventorium  •  The Guilding  •  Moving

After a valiant effort to move my many drawers of cold type myself yesterday, I called the experts at McQuaid’s back in to do it. As they hefted I could feel the years terraforming back onto my physical health. Just a very few bits and bobs left to move now.

🗓️

Last night as he was going to bed, Oliver was frustrated that nobody had organized a PEI instance of the March for Our Lives that’s happening around the world today.

I asked Oliver who he thought would organize this, and he replied “the people who organize things.”

To which I replied “the people who organize things is all of us,” not a secret cabal of special people.

Apparently he took my advice to heart, as by the time I woke up this morning he’d organized a March for Our Lives today for 1:00 p.m. at the Coles Building. Posters were printed, a Facebook event created.

Here’s the speech that Oliver wrote to deliver at the march:

I’m Inspired by The Parkland Students, This is Never a Lay Down in Our Society, This will never be. We need to have a Change in Our Societies. We need to have a change in the way that we treat people (First Nations, etc.) because it’s unfair that we have mistreated these people for so long now, so stand up for the French, stand up for the First Nations, stand up for Many Other People, and Now Standup for The Generations that are still alive today.

There are other sufferings of Schools (For Example: First Nations in Residential Schools) and other Societal Sufferings (French were challenged because the English  invaded their lands)

There are many other things in our (Canadian) History, that we’ll never forgive our Challenges.

My Generation seems to suffer a lot in the last shooting in Parkland, Florida, My Generation will have fears of this tragic event for years to come, My Generation today are fighting for Freedom for Peace and Hope that this will never ever happen again,  My Generation’s Slogan of this Protest is “We Had Enough”, We (Canadians) and They (Americans) need Freedom for Peace and Hope that this will never ever happen again both in Canada and in America for our Children, First Nations, French, and many other people.

I’m very proud of, and inspired by, my son for taking this on; the moment when them becomes us is a powerful one to watch.

We were a small but hearty lot standing in the cold this afternoon, but our spirits ran strong. Here’s Oliver reading his speech.

🗓️
Oliver  •  Activism

I’m finally, at long last, in possession of a gateway from The Things Network, and so I’m ready to start laying the groundwork for an open sensor network in Charlottetown.

What does this mean?

Well, imagine you want to measure something: temperature, humidity, noise, pollution, daylight, water level, pedestrians.

You do you the measuring with sensors out in the field, and sensors that are (a) small and (b) don’t use a lot of power, are best because they’re easier to spread around (if you can run a sensor with batteries, then you don’t have to run power to it; if you can tuck a sensor in a corner rather than paying an electrician to mount it somewhere you’re more likely to install it).

Once you have your sensors out in the field you need a way of getting the data they collect to a central data-collecting place. In the olden days this often meant that the sensors had a way of storing readings and you’d get in a truck and visit them occasionally and transfer the data to a laptop.

More recently sensors have been able to send readings using cellular telephone data networks, but that makes the sensors more expensive, and requires that they have SIM cards and a mobile operator through which to pass the data.

Ideally there could be low-cost sensors, communicating using radio over unlicensed spectrum, to a low cost gateway, thus removing the need both for trucks and SIM cards altogether.

And that’s exactly what The Things Network, a Dutch project, has set out to do. Their elevator pitch:

The Things Network is building a network for the Internet of Things by creating abundant data connectivity, so applications and businesses can flourish.

The technology we use is called LoRaWAN and it allows for things to talk to the internet without 3G or WiFi. So no WiFi codes and no mobile subscriptions.

It features low battery usage, long range and low bandwidth. Perfect for the internet of things.

In hardware form, here’s what this looks like right now in my office.

First is The Things Gateway, about the size of an iPad, with an antenna sticking out the top. Depending on the terrain, and how much area you want your sensor network to cover, you need one or several of these in a city, each operating independently. All they need is an Internet connection and power:

The Things Gateway in my office

Next is a prototypical sensor box called The Things Node that can be used for testing and development. It’s about the size of an Altoids tin, contains temperature, light and motion sensors as well as a multi-coloured LED and a button, and operates on 3 AAA batteries. These, like other sensors that speak LoRaWAN, can be placed anywhere and everywhere, and can sense and forward all manner of things to a nearby Gateway:

The Things Node in my office.

There’s a relatively simple process of activating The Things Gateway that involves getting it set with network connectivity (wireless or hardwired via Ethernet) and getting it registered with The Things Network’s routers. I called my gateway charlottetown-1, and here’s what it looks like in the Things Network console:

Screen Shot of The Things Network console

With the gateway in place, I turned to setting up The Things Node. At heart this is a SparkFun AVR inside a waterproof case, and the setup process involves getting an Arduino environment set up on a computer, connecting the computer to the Node by USB cable, and grabbing its unique ID number, called the EUI. Not the simplest procedure, but it’s well-documented.

Once the EUI is obtained, The Things Network console allows you to create an “Application,” and then to attached one or more “Devices” to that Application.

I set up an Application called charlottetown-thingsnodes that looks like this in the console:

Things Network Application screen shot

Next I added a Device, for my Things Node, to this application, and called it charlottetown-thingsnode-1:

Things Node Device screen shot

Finally, I uploaded a sample Arduino sketch to the Things Node that set it up to transmit temperature, light, and battery level readings every minute, and button-press and motion events as they happened.

Once I’d done all this, data started to flow from The Things Node, via The Things Gateway, over the Internet to The Things Network, where I could see it on my console:

Things Network console screen shot

You can see that at 3:59 p.m. this afternoon the temperature in my office was 21.69ºC, the light level was 31, and the battery level was 4060.

The Things Network doesn’t actually do anything with the data at this point; for that, Integrations are required. These are third-party services that use The Things Network’s API to allow you to visualize, analyze or otherwise act on the sensor data you’re gathering.

One of these integrations is with IFTTT (née If This Then That), and while it’s a little cumbersome to set up (as the documentation is out of date), I eventually got it working, with this setup:

Things Network IFTTT integration

The keys to getting it working were understanding that on the IFTTT end the “this” you need to configure is now called “Webhooks” (it used to be called “Maker”), and that the “Key” value you need to plug into the Integration settings on The Things Network is the string that comes after “/use/” in the URL for the Webhook setup (the part I’ve redacted here):

IFTTT Webhook Settings

The IFTTT “Applet” I setup takes data from The Things Network Integration via Webhook, and adds the three values it receives to a Google Sheets spreadsheet:

Screen shot of IFTTT applet

And that’s exactly what started to happen; here’s a shot of the Google Sheet:

Screen shot of Google Sheet

Here’s a chart of those values for the last day:

Chart showing temperature in the Reinventorium

There’s relatively little variation in the temperature in the office, it seems: it ranges from a low of 21.13ºC to a high of 22.75ºC, a range of only 1.62ºC. I suspect this has something to do with the fact that the new office here, in the basement of the St. Paul’s Church Parish Hall, is heated by the district heating system, and that it’s tightly regulated.

Ultimately, of course, it doesn’t make sense to use all this gear just to measure the temperature in my office. But once I get the gateway centrally mounted somewhere high in Charlottetown, thousands of sensors over a large swath of the city, will be able to send data through it. That’s next!

🗓️

One of the amazing/creepy features of the Amazon Echo is that you can opt-in to allowing other Echo users to “drop in” on your Echo, and this establishes an instant audio connection between the two of you, with no need to answer or acknowledge. It’s like leaving your front door open, and dispensing with the niceties of the need to knock.

Today is a snow day, and Oliver is home from school. I need to work. Catherine needs to work. And Oliver is averse to coming to the office or studio with either of us.

Given my new office’s proximity to the house–directly across the street, and 15 seconds away if I’m running–we decided to try an experiment today, where we leave the “drop in” connection between the Echo in my office and the Echo in our living room open. So, in a sense, Oliver and I are “in the same room,” albeit separated by a city street.

Oliver’s 17 years old, and he doesn’t need constant supervision: he’s pretty independent and self-contained as regards most aspects of life. But because someone could knock on the door, or Ethan could start barking at a squirrel, or the toilet could overflow, he needs access to supervision, and that’s what I’m here for, across the street.

We’ll see how it goes.

🗓️

I spend a good portion of my working life, as all coders do, dealing with edge cases, those remote, seldom-seen corners of systems that confound original expectations. Discussion about edge cases often starts with “I never imagined that…”

I suspect that my new work-home proximity is going to drive Google Maps’ timeline feature bonkers: it’s an edge case, where the proximity falls well within the margin of geolocation-determining error.

🗓️
Design  •  Google Maps  •  Geolocation

I love everything about this video. The song. The choreography. The cinematography. The performance. Everything.

If I could dance like that I would be so happy.

🗓️

About This Blog

Photo of Peter RukavinaI am . I am a writer, letterpress printer, and a curious person.

To learn more about me, read my /now, look at my bio, listen to audio I’ve posted, read presentations and speeches I’ve written, see things I’ve favourited elsewhere, or get in touch (peter@rukavina.net is the quickest way).

I have been writing here since May 1999: you can explore the 25+ years of blog posts in the archive.

You can subscribe to an RSS feed of posts, an RSS feed of comments, an RSS feed of favourites elsewhere, or a podcast RSS feed that just contains audio posts. You can also receive a daily digests of posts by email. I also publish an OPML blogroll.

InstagramYouTubeVimeoORCIDOpenStreetMapInternet ArchivePEI.artDrupalGithub.