Create universal blockchain smart contracts
Blockchain smart contracts have the ability to access off-chain data by integrating decentralized oracles. Before diving into how to use them, it's important to understand why smart contracts matter in the big picture and why they need oracles for data access.
read more
Unboxing the Raspberry Pi 400
Since early 2020, when I wrote about some fun Raspberry Pi projects and our Raspberry Pi eBook, I (like almost everyone) have been living and working from home.
read more
8 Git aliases that make me more efficient
The excellent article 7 Git tricks that changed my life inspired me to write about another Git feature that's had a major impact on my experience using Git on the command line: aliases.
Defining Git aliases to serve as substitutes for commands provides two major benefits:
read more
Journal five minutes a day with Jupyter
Some people follow the tradition of creating New Year's resolutions. A year is a long time, though, so I plan with a seasonal theme or trajectory. Each quarter, I sit down and look at the upcoming three-month season and decide what I'll work on during that time.
For my latest theme, I decided I wanted to write a daily journal. I like having clear commitments, so I committed to writing for five minutes each day. I also like having observable commitments, even if it is just for me, so I put my entries in Git.
read more
Why failure should be normalized and how to do it
All of your heroes have failures under their belts—from minor mistakes to major disasters. Nobody knows how to do everything automatically, and the process of learning is usually a messy one. So why is the perception that everyone but you knows what they’re doing so common? Why do we externalize our successes but internalize our failures?
read more
How to choose a wireless protocol for home automation
In the second article in this series, I talked about local control vs. cloud connectivity and some things to consider for your home automation setup.
In this third article, I will discuss the underlying technology for connecting devices to Home Assistant, including the dominant protocols that smart devices use to communicate and some things to think about before purchasing smart devices.
read more
Comparing the similarities and differences between inner source and open source
Open source software (OSS) has been around since the 1990s and has thrived, quickly growing to become mainstream. It is now more well understood around the world than it has ever been before. Some refer to it as FOSS to highlight the Freedom part of open source (Free and Open Source Software). And in 2014, at OSCON, the term "inner source" was debuted, and people started talking about how to use the principles of open source, but inside of a company. It raised several questions for those unfamiliar with the term, which I hope to answer with this article.
read more
5 open source alternatives to GitHub
Git is a popular version-control system, primarily used for code but popular in other disciplines, too. It can run locally on your computer for personal use, it can run on a server for collaboration, and it can also run as a hosted service for widespread public participation. There are many hosted services out there, and one of the most popular brands is GitHub.
read more
Access free, high-quality images from HDRI Haven
The latest episode of The Open Source Creative Podcast is good for anyone interested in using HDRIs in their work (typically 3D art and VFX), but may also be of interest to folks with an interest in photography and the process of creating their own high dynamic range images. In this episode, Greg Zaal shares about HDRI Haven, a place where you can get free, high-quality 360-degree HDR images under a CC0 license.
read more
Keep track of multiple Git remote repositories
Working with remote repositories gets confusing when the names of the remote repositories in your local Git repo are inconsistent.
read more
Get started with Fossil, an alternative to Git
As any programmer knows, there are many reasons it's vital to keep track of code changes. Sometimes you just want a history of how your project started and evolved, as a matter of curiosity or education. Other times, you want to enable other coders to contribute to your project, and you need a reliable way to merge disparate parts. And more critically, sometimes an adjustment you make to fix one problem breaks something else that was working.
read more
Got something to say? How to get started writing
Well, I suppose after all this talk of how to find your story and then write your story, I should make a post about how to do just that. I've broken it down into three sections: how to find your story, how to write your story, and how to share it and get it published.
During the All Things Open virtual event this year, I was invited to share my tips, and now you can watch that. It's about 20 minutes with some questions and commentary at the end.
read more
Build a motion detection system with a Raspberry Pi
If you want a home security system to tell you if someone is lurking around your property, you don't need an expensive, proprietary solution from a third-party vendor. You can set up your own system using a Raspberry Pi, a passive infrared (PIR) motion sensor, and an LTE modem that will send SMS messages whenever it detects movement.
PrerequisitesYou will need:
read more
A beginner's guide to developing with React
React is a JavaScript user interface (UI) library that was built and is maintained by Facebook. React helps JavaScript developers think logically and functionally about how they want to build a UI.
With React, you can build:
- Single-page applications
- Applications that are easy to understand
- Scalable applications
- Cross-platform applications
React allows developers to build applications declaratively and offers a unidirectional flow of data.
read more
Create a machine learning model with Bash
Machine learning is a powerful computing capability for predicting or forecasting things that conventional algorithms find challenging. The machine learning journey begins with collecting and preparing data—a lot of it—then it builds mathematical models based on that data. While multiple tools can be used for these tasks, I like to use the shell.
read more
6 predictions for JavaScript build tools
Code used in production is different from development code. In production, you need to build packages that run fast, manage dependencies, automate tasks, load external modules, and more. JavaScript tools that make it possible to turn development code into production code are called build tools.
The reason frontend code is "built" can be explained by looking into the various build steps and their importance.
read more
A beginner's guide to Kubernetes Jobs and CronJobs
Kubernetes is the default orchestration engine for containers. Its options for controlling and managing pods and containers include:
- Deployments
- StatefulSets
- ReplicaSets
Each of these features has its own purpose, with the common function to ensure that pods run continuously. In failure scenarios, these controllers either restart or reschedule pods to ensure the services in the pods continue running.
read more
Run serverless functions, Kubernetes ingress controllers comparisons, and more industry trends
As part of my role as a principal communication strategist at an enterprise software company with an open source development model, I publish a regular update about open source community, market, and industry trends. Here are some of my and their favorite articles from that update.
read more
Open source brings musicians together virtually
When the COVID-19 pandemic began canceling live music events in spring 2020, it wasn't just the big arena shows, music festivals, and small, local venues that suffered—the big annual marching band competition leagues, like Drum Corps International (DCI) and WGI World Championships, were also called off. This was a huge disappointment for the thousands of musicians and band directors who were already preparing for the spring and summer competition season.
read more