Development/Architecture
Architecture/Engineering
- The Platform Engineer
- Example Applications
- Open Telemetry Demo: A modification of Google’s Online Boutique, but with more integrations with Open Telementry
- RealWorld - The ultimate demo app, with multiple frontend and backend frameworks
- Google’s Online Boutique - True Microservice e-commerce app, written as a pologot style service covering most modern development languages today (Node, Go, Python, C#, Java)
- Google’s Bank of Anthos - A lighter microservice example app - only Python and Java. Both referencing PostgreSQL databases for persistence.
- PodInfo - Lightweigth pod with common endpoints - useful for testing other services
- Hello Kubernetes - Hello world, but for Kubernetes
Cloud Development Environment
- Codespaces: Github hosted cloud development
- Coder
- GitPod
- DevPod - Local tool that will spin up enviornments, based on DevContainers
Development
- No-Code
- APITable
- NoCode List
- Budibase
- Cortez Project - Golang based No-code Platform
- OpenBlocks - Open Source Retool Clone
- Pocketbase: Realtime DB + Auth + Objectstore
- SaltCorn
- Taipy: Python full-stack
- Development - AI
- Development - Go
- Development - Javascript
- Development - Python
- Development - Scripting
- Development - Web
Development Workflow
- GitOps Best Practices: Slightly heavy on the policy-as-code front (not surprising given the source), but otherwise some really good best practices.
- How atomic Git commits dramatically increased my productivity - and will increase yours too
- How Refactoring Almost Ruined My Marriage: Summary is that older code-bases have accumulated bug fixes and business domain knowledge that isn’t obvious, so take caution refactoring older code.
- Reverse Pull Request: A way to review code in rapid-release cycles.
- The Secret to Clean Code
Docker
- Containers.dev: Opening up the VSCode devcontainer.json for standardization
- Docker Anti-Patterns
- GUI Apps In Docker
- Using Docker for All Development
Security
Tools
- Git: All configurations should be in a version management system, and git is probably the best available. For any open source code Github is pretty much the defacto host for a lot of projects.
- JQPlay: Quick way to debug jq filters. Also available as a Docker image
- Makefile: Explained in Makefiles for Modern Development
- Fossil SCM - Distributed source control with wiki, issues, etc.
Docker/Kubernetes Build Tools
- DevSpaces: Another tool for rapid rebuild/deploy/live environments
- Garden.io: Another tool for rapid rebuild/live build environments, with additional focus on CI/CD (versus Tilt)
- Tilt: Tool for rapid rebuild/live build environments.
Articles/Books
- A Dev’s Thoughts On Developer Productivity: A great discussion on optimizing the “inner” developer loop.
- Advance Git: Advance git techniques and shortcuts
- Art of Unix Programming
- ChgLog implementing Conventional Commits
- GitHub Flow: A pretty standard process for committing to many open-source projects.
- Uncurled (Source): From the author of curl, “everything I know and learned about running and maintaining Open Source projects for three decades.”
- The Command Line in 2004
- The End of Localhost: Proposal for development in the cloud
- yagni - You Aren’t Gonna Need It: Could also easily apply to IaC code-bases
Future Research
Zeitgitter: A timestamping service for git commits. Interesting idea of using a git repo/chain as a form of “blockchain” with cryptographically ensured timestamps committed…