Privacy IoT with Candlestick 2.0, Raspberry Pi, and Zigbee

Most mornings start with the question, “what’s the temperature?” I am a privacy minded technologist who has casually researched home automation for decades. Yesterday, I achieved a private, controllable Internet of Things (IoT) setup that is flexible, inexpensive, and hackable. This beach head is the convergence of embedded devices running Linux (Raspberry Pi 4b), weather sensors communicating over Zigbee, and Candlestick 2.0 built on WebThings.io.

GitOps for DNS

Domain Name Service (DNS) is the fundamental building block of every service. Operators love traditions: intranet IPv4 addresses, creating subnet, VLAN, and final octet conventions documented on the NetOps wiki before delegating DNS. When DNS is maintained through pet operations via a help desk API, developers become frustrated. Hence the long standing need for DNS GitOps.

Learning AlpineLinux.org, Ansible.com, and Packer.io

For my 2020-1 holiday break, I decided my next personal project would be to rebuild my home infrastructure on containers. I’d been inspired by a recent discovery of LinuxServer.io, where open source projects are built and run as containers. While I have a burning desire to better my Kubernetes practice, not enough of the world delivers software as a Helm chart, so merely running everything as containers would be a good intermediate step. Let me share my first six steps with examples…

US Sedition, Presidential Censure, and Impeachment

Democracy is a process: this past Wednesday was another test of United States democracy and a reckoning of our current administration’s dangerous tactics to stay in power. This has been another disheartening, depressing, embarrassing week in our enduring COVID-19 imposed lock down, but an older threat, the disease of poor thinking, was evident.

Why You Want Google Authenticator, but Don't Need It

Two factor authentication is an important safeguard for all of your accounts and it has proven itself by protecting one of the largest software engineering organizations in the world from breach. In order to easily control your safety and privacy without resorting to cloud service providers, let’s explore how to adopt dynamic passwords and avoid outsourcing your credentials!

Tags// , , , ,

The American Soul: A Way Forward on Juneteenth

A State of Emergency In the past three months, the soul of America has been laid bare in increasing amounts as we address our society’s response to our impaired health, economic, and political processes. There is a single crisis in all of this: our attitude as citizens to come together and solve any problem. America has been divided and exploited by those who profit by perpetuating the current system of inequalities of our society.

COVID-19 Resources

Some helpful resources for learning and understanding our global pandemic, which I hope unites us in achieving a global, human perspective: we’re all in this together.

Tags// ,

Version Control for Operators

Version Control is an essential tool making your work reproducible and visible, which can unlock profound amplifying effects of your contributions. As operators grow into developers, they can build toward state of the art GitOps!

What is a DevOps Advocate?

What is an Advocate and what is it in context of Developer Relations (DevRel)? After more than twenty years, I have returned to the realm of DevRel: so what has changed and what has remained the same?

DevOps in a Box

My long time fantasy has been to demonstrate an entire CI/CD pipeline with continuous operations of applications to discuss behavior driven operations and testing as monitors.

The call for this happened over and over at DevOpsDays to answer: how does one learn DevOps, practice site reliability engineering, or have a full application lifecycle environment?

So let’s create a minimal viable product BTD scenario of my DevOps Automation system, extend it to prefix Governance and suffix Management, and then drive maturity to illustrate and discuss best practices.

SSH Key Authentication Overview

For those of you new to automation, it can be overwhelming on first exposure to handle every link in the chain to launch your first Nutanix Calm blueprint. Many Calm Marketplace blueprints leverage Linux, cloud-init, and SSH keypairs to enable security best-practices for composable infrastructure as code.

Calm.io: a blog series recap!

From September 23, 2015 to May 26, 2016, I took hiatus from my personal blog to explore, explain, and write a number of DevOps articles for my employer on the Calm.io blog. Nutanix acquired Calm.io and I am still part of the Nutanix Calm team, but I’m re-posting these articles on my personal blog since the originals are no longer directly accessible. I am also enhancing them to clarify language, add learnings, and append significant developments as postscripts.

Tags// , , ,

The DevOps Maturity Diagram

The opening of my first Calm.io DevOps article started with:

Let me share what I’ve learned on my journey to DevOps: it is a culturally rendered term and it has a different meaning for everyone.

In that article, I go on to define DevOps and explain the term. Let me share my experience to easily chart the journey of progressive stages to DevOps maturity.

Tags// , , ,

Ten Steps from Pets to Cattle

Why do we need DevOps when IT and Operations succeed in their responsibility for security and uptime, using administrative tools to maintain, backup, patch, and restore those systems achieving a “keep the lights on” goal? Because the operations domain must be documented, democratized, and distributed to achieve agility so Operations returns to become a business force multiplier. Let me demonstrate that traditional values for long lived infrastructure and their retroactive justification do not apply when progressing to a DevOps mindset.

Tags// , , ,

Reconciling Configuration Management and Immutable Infrastructure

Configuration Management in the DevOps World

Declarative Operating Systems

A new breed of operating systems adopt declarative configuration management for an interesting hybrid! OS maintenance of long-lived servers remains a challenge for our “mutable” infrastructure.

Demystifying Continuous Integration, Delivery, and Deployment

Infrastructure as Code and Calm Blueprints

Why is DevOps So Hard?

DevOps Demystified

For a term that is not even six years old, DevOps remains a mysterious pursuit for many software engineering organizations. Let me define DevOps to help you understand and chart your own journey. Hint: it is a cultural term!

I Dream of DevOps, but What is DevOps?

Tags// , , ,

Artifact Repositories

The past: desktop builds uploaded to the FTP server; the present: global artifact delivery networks. Release management and artifact repositories are they way we deliver software and infrastructure today.

Database Change Management

Database configuration management tools allow us version the database and treat it like code! We want DevOps, not mysterious, hidden, hand crafted DBA (pet) ops whenever possible. Another flashback to 1998.

Tags// , , ,

HTML Slide Show Survey

PowerPoint and other proprietary slide-ware, bah! We already have a universal, open system for communication called the web, so let’s explore web presentation applications.

Tags// , , ,

Building the LAMP stack with Phing

A flashback to 2007 with a tangible artifact in my journey to infrastructure as code: building the LAMP stack with Phing.

Tags// , , , , , ,

Container Infrastructure Strategy

In these early years of containers, “heavy containers” represent a typical approach which resembles virtual machines, includes the operating system user land, and desires configuration management. Does this starting point represent the opposite of container promise and the journey to immutable infrastructure?

DevOps BTD Pattern for Continuous Deployment

What happens when you find the same macro and micro pattern in your automation diagram? You reinforce your goals to improve code flow and service design on the way to test driven development!

Today's DevOps Automation Diagram

#shipit and #failfast: I want to share and discuss the DevOps Automation Diagram for continuous deployment. Via open source and this blog, we can elevate the state of our software engineering and service design!

A DevOps Automation State Diagram

Wonderful accomplishments kicked-off my Infrastructure as Code project: one should start with a map of the world before deciding where to focus, but it is even better when you can optimize and render a new map in real-time!

About Mark

A DevOps professional with pioneering work on the world’s biggest Internet real-time event and web sites across the engineering, operations, content, and marketing disciplines. Mark’s focus is on people and software development along with system design and life cycle thinking: he can build, secure, scale, and manage teams, applications, and infrastructure to work together while planning and nurturing their continuous operations and improvement.

Time for a new development project!

What does one do when laid off? You need to scratch that itch and address the things that are in the back of your head and occasionally keep you awake at night. Technical dreams and technical debt follow as I start my Infrastructure as Code blog.

TBD: Entity Relationship Diagram Mermaid Live Editor classDiagram DanPatrick <|-- Museum DanPatrick <|-- State DanPatrick <|-- Church DanPatrick <|-- Party DanPatrick: +State.AssistantGov DanPatrick: +Party.Republican DanPatrick: +Museum.PreservationBoard DanPatrick: Serve(Citizens) DanPatrick: Censor(Book) Book <|-- Church class Book { +TeachHistory(Citizens) -Bias(Citizens) } class Church { +Religion +Teach(Religion) +Burn(Book) } State <|-- Education State <|-- Party class State { +Texas +LawMaker() +Separation(Church) +History } class Party { +Republican +Policy(self) -Policy(CRT) } class Museum { +History Mission(Education) } Citizens <|-- Church Citizens <|-- State class Citizens { -BiasforHarmony Education(History) Read(Book) } Church <|-- Education Education <|-- History class Education { +Teach(History) +Serve(Citizens) } class History { +Truth(academic.

tags: [‘Maturity’] draft: true date: “2020-02-09T16:29:10-06:00” title: “Automated Maturity Assessment” Notes From JenkinsWorld 2019 SF, Salesforce talk What does good look like? Categorize criteria: building vs. deployment vs testing vs reporting 5 expertise levels: base, beginner, Intermediate, Advanced, Experts: show org examples Team CI/CD adoption: At SFDC.com, of 90 scrum teams, over 7 domains, 30 have adopted in first six months: asked the Product Owner, Team Lead, etc. Assessment: 35% Jenkins unit test coverage, security vulnerable code base, functional test code coverage scrum team information/metrics traverse folders or Jenkins view of all jobs, pull job stats XML, map against team 65% 5-10min questionnaire = 40 Q via GOOG forms; stored in analytics/BI Do you use feature flags, % of functional tests automated, have you done devsec 101?

tags: [‘career’, ‘DevOps’] draft: true date: “2020-02-09T16:29:10-06:00” title: “Career as a Feedback Loop” Career as a Feedback Loop: serial DevOps? Nomadic ramblings on the attention economy of cloud, web, Internet native I Couldn’t Get a Job with my Degree! After graduation with my B.S. Mechanical Engineering from Boston University, I began my search for work. It was during a recession. It wasn’t for a lack of trying, I sent out over a hundred resumes with customized cover letters.