Code Engineered
Blog
Resources
Code Engineered
Blogs
2024
November 19
Common SemVer Problems
August 22
Please Stop Using Helm v2 With Tiller
February 26
Why Are CNCF Contributors Down
February 20
CNCF Sandbox: Know Before You Submit
February 12
Retrospective After Two Years On The CNCF TOC
February 5
The CNCF For Developers
January 30
Kubernetes Is Great On-premise
January 22
Open Source Doesn't Require Providing Builds
2023
March 15
Container Image Search In Artifact Hub
January 11
Where the CNCF TOC Members Are In the World (for 2022)
January 5
CNCF Contributors Are Global
2022
November 30
Helm, kubeVersion, and GKE
October 19
What's Up With Rancher Fleet?
October 18
Why You Might Want To Use The SLES Base Container Images
October 17
Verify SUSE SLE Base Container Images SLSA Attestations
August 29
Docker Desktop vs Rancher Desktop
May 16
Golang Logging Mess
April 7
localdev.me DNS For Local Development
March 11
Verify SUSE SLE Base Container Images With Cosign
January 4
Bringing Docker engine (Moby) and The Docker CLI to Rancher Desktop
2021
December 13
Choosing Processor for Framework Laptop
December 7
Why I Bought A Framework Laptop
November 15
IT Should Be An Enabler
September 30
Podman vs Nerdctl
August 31
Tips For Your Helm Pull Request
August 18
Always Be Connecting Dots
July 8
Two Reasons Minimizing Distraction Matters
June 17
New Open Source Projects from SUSE / Rancher
June 8
How We Did Logging Differently In Hypper
May 20
What Are Operators? A Look At The Definition
March 25
Helm - A Look At The Code For The Kubernetes Package Manager
March 23
Better Golang Logging - How We Can Untangle The Mess
March 22
Storing More Than Container Images In Registries
February 25
Blog Code Under Open Source License
February 11
DNS Saves Headaches
February 2
Learning Helm (The Book)
2020
September 28
Why We Have Software Elitism
July 2
Helm: 4 Places To Find Helm Charts
July 1
Kubernetes: Controlling exec Access
June 12
Helm Growth and Kubernetes Complexity
May 21
Artifact Hub: Notifications and Webhooks
May 18
Helm Under The Hood: Storage Using Secrets
May 12
Clutternaming, The Anti-pattern
May 6
Installing Go on Linux In One Command
May 4
Helm, JSON Schema, and Generated Forms
April 30
Graduating Helm, A Look At The Process
April 20
Introducing The Artifact Hub
April 13
Helm v2: Air Gapped
April 7
Docker Compose Spec
February 3
Do I Need An Operator?
January 27
2020 CNCF TOC Election Guide
January 14
Please Make Your Websites Archivable
January 8
Lessons Learned From The Stall of Drupal
2019
October 5
Usefulness of Security Audits
September 13
Go Modules and Major Versions
September 12
SemVer v3 Released
September 3
PSA: Go 1.13 Default Module Proxy Privacy
July 17
Go Needs A Package Interoperability Group
July 10
Glide, Go Modules, and Go Dependency Handling
June 10
Multicloud: Why It Matters
June 3
Kubernetes: Long Label Names and UX
February 22
An Analogy On Solution Building
2018
November 5
Business Case For Using Kubernetes
October 17
Two Things I Want From Public Clouds
September 21
DCO Signoff In GitHub UI
August 28
Git Signoff Shortcut
August 21
Reinhard Nägele: Chopping Wood and Carrying Water
July 16
What is serverless, anyway?
July 12
Helm vs Kustomize: Managing Complexity
June 22
Kubernetes App Survey Highlight: The Windows Problem
June 4
Dependency Management: Know Your People
May 29
Go vgo: A Look At User Needs
May 22
Go vgo: A Broken Dependency Tree
May 22
Go: From Godep To vgo, A Commentated History
May 21
Go vgo: Semantic Versioning and Human Error
April 25
Problems Blocking Rise of Open Web
April 9
Kubernetes: Take The Apps Survey
March 20
Kubernetes: Where Helm And Related Tools Sit
February 26
Kubernetes Helm: What Platform Package Managers Do
January 29
A Shift In Kubernetes Feature Development
January 16
Dealing With Open Source Conflict
January 9
Helm and Charts: 2017 In Review
January 8
Comcast vs Frontier: Comparing New High-Speed DSL and Cable Internet
January 2
Learning Kubernetes-isms: Labels and Annotations
2017
December 19
Kubernetes Community Charts: Now With OWNERS
December 14
Learning Kubernetes-isms: OWNERS files, approvers, and reviewers
November 28
Kubernetes is Hard
November 20
Helm Charts: Higher Level Programming and Apps
October 31
More Easily Defining Apps In Kubernetes
October 16
Charts: Instant Feedback For Kubernetes Chart Developers via CI
September 25
Helm: Understanding Charts API vs App Registry
2016
November 28
From Standards To Proprietary
November 17
Kubernetes: Helm Package Manager 2.0.0 Released
November 3
Go: Package Management Survey Results 2016
October 12
How To Download Kubectl
September 23
Data Gravity
September 13
Go: Navigate GOPATH More Quickly In cd
August 31
Go: Take The Survey On Dependency Management
August 29
Dipping Your Toes Into Cloud Native Application Development
August 24
Go: How Outdated Are Your Dependencies?
August 23
Glide: What's New in 0.12.0
August 16
Kubernetes SIG Apps: first survey results and intro
July 6
Glide: What's New in 0.11.0
June 8
Kubernetes: Easy App Dev Mac Environment
May 16
Kubernetes: SIG Apps
March 24
Glide 0.10.0 - Vendoring, Gom imports, and more
March 14
Go Exposed: How Remote Import Paths Work
March 11
SemVer 1.1.0 Released With Validation Support
March 3
Stripping Vendor VCS Data While Using Glide
February 25
Why Glide Doesn't Strip Unused Packages
February 21
How To Fix The Go Package Management Problem
February 4
Contributing Glide User Documentation
January 26
The Glide Re-Architecture
January 13
Dangers of Monorepo Projects
2015
December 16
Glide install and the glide.lock file
December 11
Glide 0.8.0 Released - Manage Go Dependencies Like Other Languages
November 16
Why It's Time For Go Packages To Start Versioning
November 13
The Three Pillars Of Cloud Computing
November 4
Seeing How The Other Side Lives, A Package Manager Overview For Go Developers
November 2
Glide 0.7.0 Now With SemVer and Auto Flattening
October 7
Announcing Masterminds/vcs Package For Go
September 18
Why Bother Building Cloud Native Applications?
September 9
Flattening Go Dependencies With Glide
September 4
Call For Feedback On A Go Package Metadata Spec
September 2
The Swift to WebDAV Proxy Architecture
August 31
Glide 0.5.1, Now For Vendored Packages
August 25
Building An OpenStack Swift to WebDAV Proxy
August 24
The New Go 1.5 Vendor Handling
August 19
Glide 0.5 and Go Vendor Support
July 13
Comparing Versions In Go
July 7
Should Go Projects Vendor Dependencies?
July 6
Package Versions, A Problem For Many Go Projects
June 30
Caddy a modern web server supporting HTTP/2
June 18
Cookoo 1.2.0 Released
June 17
Glide 0.3.0 Released
June 16
LastPass Breach, Password Security, and Reason
June 12
Easing Glide Usage in Zsh
June 5
Building Custom AngularJS Panels in the OpenStack Dashboard (Horizon)
June 1
Theming The OpenStack Dashboard In Kilo
May 21
A Go File Server With Custom Error Pages
2014
October 13
Connecting to OpenStack in node.js with pkgcloud
October 7
Glide In The Sea of Go Package Managers
October 6
Find Security Holes With A Threat Analysis
September 29
Security is a Feature
September 22
Review: The HP Way
August 12
Why Companies Exist
July 2
Why OpenStack Matters
June 5
Using Private and Final In Open Source Software
June 2
State of Application Developer Experience with OpenStack
April 30
Modern PHP, Popularity, and Facebook
April 24
Introducing Cookoo, A Unique Controller and Lightweight Framework for Go
April 21
Building Cloud Agnostic Applications
April 14
Is It Time To Encrypt All Personal User Data?
April 7
Introducing the OpenStack SDK for PHP
March 26
Practical Guide To PSR-0 and PSR-4
March 25
Converting Markdown to PDF with PHP
March 5
Platforms Beat Programming Languages
February 28
QueryPath and HTML5
February 24
Three Parts To Being A Tech Lead
February 19
Symfony DomCrawler and HTML5
February 18
Why The Internet of Things Scares Me
February 13
Lint Your Go Software With Golint
January 30
How Engineering Is Different From Development or Programming
2013
December 2
HTML5: The Semantic Difference Between Bold and Strong
October 28
Go, Travis CI, and Case Sensitive Project Names
October 21
DrupalCamp MI: Secure Your Site
October 2
Releasing A HTML5 Parser and Writer For PHP
August 29
Drupal Developer Career Advice
August 26
OpenStack Should Take A Play From The PHP Playbook
June 27
Securing Your Site: Clickjacking and X-Frame-Options
June 26
Call For HTML5 PHP Parser And Serializer Feature Requests
June 25
PHPUnit Multiple Test Dependencies
June 4
Introducing A HTML5 Parser and Serializer for PHP
May 29
Lessons From The Field: Being A Tech Lead
May 23
How Drupal Is Like Enterprise Software
May 15
Why Go Is An Excellent Modern Programming Language
April 24
PHP: Testing Private and Protected Methods
April 11
Choosing Between YUIDoc and JSDoc3
April 9
JavaScript Bindings Released for HP Cloud
March 29
Designing A New Landing Page
January 29
A Simple Product Design Process
January 22
Taking Advantage of the Elderly
January 17
How To Be A Better Than Average Programmer
2012
December 27
Faster Cloud Storage Uploads
December 13
Bending Jekyll To Your Will With Aspect Oriented Programming
December 11
How To Install Git Subtree on Mac and Ubuntu
December 10
Building Command Line Applications in PHP
December 3
Surviving Hard Drive and Backup Drive Failure
November 14
Successfully Commenting Code
October 17
Who Are The Drupal Target Audiences?
October 16
PHP, Anonymous Functions, Closures, and QueryPath
October 9
Does Drupal Target Developers?
October 8
Ugly Code, Debating It, and Successful Products
September 24
Properly Getting Field Data on Entities (Nodes)
September 21
Fixing the iOS Maps Data Problem
September 20
Some Handy Backup Solutions
September 19
Tales From The Field: Always Have A Backup
September 17
The Difference Between Inventing and Innovating
September 14
10 Famous and Good Design Principles
September 5
Switching From Pygments to Prettify
September 4
Understanding How The jQuery Constructor Creates Lots of Extra jQuery Objects
August 29
A Production / Development Toggle For Drupal 7 With Speedy
August 24
Volunteer For Charity at GiveCamp
August 23
Comcast (Xfinity) Internet Tech Support Comedy of Errors
August 13
HP Cloud PHP Library and Drupal Module Release
July 30
The HP Cloud Blog Running On The Cloud With Drupal
July 16
Supporting Aaron Winborn
July 16
PHP Documentation - A Look At Sami, phpDocumentor, and Doxygen
July 2
A Simple Async JavaScript Loader
June 29
Solving The PHP Problem
June 26
Practical Problems With PSR-2
June 7
Working With UUIDs In PHP
May 30
Why Front End Performance Is Important
May 25
Non-Blocking Loading Of 3rd Party Scripts In Drupal
May 15
Drupal 7.14 API Compatibility Breaking Change
May 15
Ethics, Software Engineering, and The Web
May 7
Speedy 1.0 Released
April 23
Understanding Other Developers - Users Of Our Development Products
April 17
Why It Is Hard To Minify On The Fly
April 13
Using Bitbucket In Addition To Github
April 12
Why I Continue To Choose PHP
April 11
4 Reasons To Choose PHP For Your Next New Project
April 10
Why I Love PHP
April 10
An Hour A Week To Better Documentation
April 5
Faster Mobile Sites
April 3
Drupal 8 and Front End Performance
March 29
Why Minify JavaScript?
March 21
Introducting the Speedy Module
March 20
Drupal, HP Cloud, and PHP
March 13
Learning From Verizon Wireless Experience Failures
March 12
Understanding The Hard Stuff
March 5
Switching From Bash to Zsh
February 20
Jekyll Deploy Scripts
February 13
LossLess Theme Image Optimization with ImageOptim
February 9
How I Switched My Blog From Drupal To Jekyll
February 8
Why I Switched My Blog From Drupal To Jekyll
2011
December 27
Protocol Relative URLs in Drupal 7
December 26
Drupal Does Not Respect https:// When Caching
October 17
DrupalCamp Michigan Registration Re-Opened
October 3
The First DrupalCamp Michigan
September 20
The Drupal Community and Front End Performance
September 13
PHP Needs A New Package Manager
September 8
SplFixedArray, An Underutilized PHP Gem
July 20
PHP 5.3 Performance: __toString() vs. A Method
May 16
JavaScript Theme Functions in Drupal
May 1
Translatable Strings In Drupal JavaScript
April 5
Build your JavaScript With jQuery 1.5.2 in Drupal 7
April 4
How to Get Your Point Across in 30 Seconds or Less
March 17
Drupal 8 JavaScript Excellence Roadmap
February 17
Making Drupal's JavaScript Rock Hard Awesome
January 24
Who Rules Drupal?
2010
December 15
3 Tips To Make Your jQuery Selectors Faster
November 10
Review: Even Faster Web Sites
November 9
How You Can Help Make DrupalCon Chicago Rock
November 2
Fixing The Drupal JavaScript Problem Examples Explained
November 1
Fixing The Drupal JavaScript Problem
October 26
3 Lessons Learned From The Drupal 1 and 3 Codebases
October 8
Making Drupal OpenID More User Friendly
September 23
Retrieving And Using Data From Google Analytics
September 22
Tracking Custom Variables With Google Analytics
September 16
Building A Drupal Site or Module Documentation Site With Doxygen
September 15
4 Reasons To Consider Doxygen Over phpDocumentor
September 9
Script Editing in Chrome 6
August 31
Performance Is Green
June 10
Accessing Libraries, Whether In Drupal or Elsewhere
June 9
Safari Reader: An Example Of An Accessibility Failure
June 8
Installing and Using The Zend Framework Via Pear
June 3
The Time To Embrace PHP 5.3 Is Here
June 1
Debugging in Drupal 7
May 17
3 Tips For Using External Libraries With Drupal
May 13
The New Way To Generate Hashes In Drupal 7
May 10
Why H.264 Has Won And What It Will Take To Change
April 29
Architect Using Diagrams
April 27
It's Time For NoMVC
April 26
Building Web APIs Developers Want To Consume
April 12
jQuery Date and Time Pickers
March 5
Visualize Your Page Size with Browser Size
March 4
Showdown: Blueprint vs. the 960 Grid
March 2
More Git GUIs
March 1
Pluggable Entity Operations in Drupal 7
February 26
Farbtastic 1.3u
February 24
SmartGit - The Best Git Gui So Far
February 23
Building Your Own Git Server
February 22
Switching to Git
February 19
Downloading Dependencies With Drush Make
February 17
Farbtastic is Dead, Long Live Farbtastic
February 15
Putting Password Strength Testers Everywhere
January 19
Removing "(not verified)" in Drupal 7
January 15
Battle of the Drupal 6 Admin Themes
January 11
Sequel Pro - A Fantastic Mac MySQL GUI
January 8
5 More Hot & Free Drupal 6 Themes
January 6
5 Hot & Free Drupal 6 Themes
January 5
How To Evaluate A CMS
January 4
First Step In Choosing A CMS
2009
December 8
Managing Comment Spam
December 3
Performance Comparison: document.createElement('img') vs. new Image()
December 1
Preloading Images with jQuery and JavaScript
November 30
Good Drupal Search Without Solr
November 23
The Sad Truth of Internet Explorer
November 20
Building A Stack Overflow Clone With Drupal - Part 4
November 19
Building A Stack Overflow Clone With Drupal - Part 3
November 13
Building A Stack Overflow Clone With Drupal - Part 2
November 4
Building A Stack Overflow Clone With Drupal - Part 1
November 3
Bringing Architecture To Your Software
November 2
Are Forums A Thing Of The Past?
October 29
The Bazaar Epic Failure
October 28
Life After Being Hacked
October 14
Two Reasons Internet Explorer 6 Is Not A Bad Browser
October 13
Simple Block Forms in Drupal
October 12
Why I Chose Drupal Instead of Wordpress
October 8
Regular Expressions and Unit Tests, A Beautiful Match
October 7
5 Free Regular Expression Tools
October 6
Regular Expression Primer and Guides
October 2
Web Hosting Woes (What To Look Out For In A Host)
October 1
Operating on Features Not Browser Versions
September 30
Choosing The Best Programming Language
September 29
HTML5 and CSS3 - It's Time To Start Using Them
September 28
960 Grid
September 28
Welcome to the Code Engineered