Everything related to the Constrained Application Protocol I wish I knew when I started in IoT

Photo by Scott Graham on Unsplash

My earliest foray into the world of IoT was back in 2010. I had an idea to create smart outlets that monitored power consumption and communicated over a low-power network. The only “slight” problem I faced was that I knew very little about networking, wireless, real-time embedded systems, protocols…okay, not exactly slight problems. The idea never got off the ground but it was that very project that started my career in IoT. My ambitions led me to study a bunch of relatively new IoT…

Photo by John Barkiple on Unsplash

I’ve been working in IoT for more than half of my career. At Nest, I had the unique opportunity to be on the board of the Thread standard group and bring OpenThread to market. At Particle as the first product hire I learned all about designing hardware, embedded software, and brought my passion for developer experience by creating professional-grade developer tools. Most recently, I worked on cloud services for WeWork’s global physical security platform, providing real-time access to buildings, elevators, and doors across WeWork’s global fleet of 600+ buildings. …

Photo by Tim Mossholder on Unsplash

All of us are experiencing changes to the way we do things due to the spread of COVID-19. Companies have told employees to work from home and events are either moving online or being cancelled outright. I run a monthly Meetup and like many organizers, I’m trying to figure out how to adjust with the times. Moving online means video conferencing and streaming, and there are options to choose from.

A quick look at building Electron apps

Photo by Felix Mittermeier on Unsplash

We’re continuing on our journey of exploring a few new technologies. As a reminder, here’s the overall plan:

  • webpack tl;dr
  • Electron tl;dr
  • C++ to WebAssembly with Emscripten
  • Bringing it all together

Electron time!

Electron tl;dr

The easiest way to get started with Electron is to use the community-developed Electron Forge. We’ll use the Beta v6 version since it seems stable enough at the time of writing.

As the docs suggest, get started using npx and run the sample:

npx @electron-forge/cli init electron-tldr
cd electron-tldr
npm start

This will launch a basic Electron app with the developer tools already opened.

I wanted an all-in-one Hello World, so I wrote one

Photo by La-Rel Easter on Unsplash

I recently attended Covalence, the first conference dedicated to Electron. The talks inspired me to write some code (an activity a rarely get to do these days.) I’m excited about WebAssembly so this gave me a good excuse to have a play.

I don’t know about you but I learn how to combine software by starting with the different quickstarts, tweaking them and iteratively combining them. To my surprise, I couldn’t find a guide on Electron, webpack and WebAssembly. So as I started trolling GitHub I thought, “maybe someone else is interested in this. I should blog it!”

So here’s…

I need to switch between different versions of GCC ARM Embedded somewhat often. I couldn’t find a good solution online so I threw together a simple shell script to simplify the process I call switch-gcc-arm. Here’s a screenshot:

The script is pretty simple, even for a bash n00b like me. It uses symlinks so that standard make files work:

For each version of gcc you want to support, you’ll need to add it is as an elif statement and add it is as a new option. The script creates a “virtual” $BIN directory that points to whichever version of…

I’ve been building up a nice supply of tools and components so I decided it is high-time to build a small workspace in my tiny SF apartment. There were things I knew I still needed but wrestled with some tough choices (like which Oscilloscope to buy.) I wanted either a nice Wishlist on Amazon or at least a great list to start my journey. I found a few decent starting points in the form of video & blogs:


3D printing is certainly a hot topic and it hasn’t even hit its stride. The machines are getting smaller, more accurate & cheaper. We’re seeing less toy/protoypes and more “real products” — even a life-size robot!

But to make a final product, you need more than just the frame. New Startups are entering the arena to enable a Maker to complete the entire product development lifecycle in their own workshop.

Circuit Board Prototyping

The folks at AgiC sourced special conductive tape that only conducts in the Z-axis so soldering a SMT is literally just placing it on paper.


The mill can cut out…

The Div Soup problem

Turnkey Frontend frameworks like Bootstrap & Foundation are great — but are not for me. They don’t feel like I’m building for the web. Frameworks by definition are opinionated but class=”col-md-4" loses all semantic meaning. And in order to enable even the most simplest of layouts or style, one needs to wrap div on top of div, creating an illegible “div soup.” Lastly, “mobile-first” is definitely a growing theme, but all of the above lack guidance on building amazing responsive layouts & designs.

Call for a toolkit

What I’d love to see is a “Web Platform frontend toolkit.” As oppose to a framework, a…

As a Developer Advocate @ Google, I’ve worked with tons of individuals & companies who have multiple projects with Google. A key piece to all of their integrations is our Google APIs Console (and soon to be the Cloud Console) — the one-stop shop to create and manage Google API projects. One question that comes up often is, “how do we manage team access?” This is especially important for companies where employees come and go over time, possibly taking the keys to their projects with them. The tl;dr is use Google Groups to manage Team members. The console has a…

Jonathan Beri

Maker of Things and seasoned Product guy. WeWork, Particle, Google, Nest. I like electronics, Gelato & my 🐕.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store