Everything related to the Constrained Application Protocol I wish I knew when I started in IoT
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…
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. …
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.
We’re continuing on our journey of exploring a few new technologies. As a reminder, here’s the overall plan:
Electron time!
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 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.
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…
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.
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…
Maker of Things and seasoned Product guy. WeWork, Particle, Google, Nest. I like electronics, Gelato & my 🐕.