Hugh Tipping
banner
hughtipping.bsky.social
Hugh Tipping
@hughtipping.bsky.social
Python, AWS Infra, Terraform, Kubernetes, SRE, DevOps

Writer.

Like any of the stuff I post? Buy me a coffee: https://ko-fi.com/htipping
🧵 Understanding K8s Pod Topology Spread Constraints:

1/4 Zone spreading - Distribute your workloads across failure domains

#Kubernetes #K8s #CloudNative
April 15, 2025 at 12:34 AM
Python descriptors give you superpowers over attribute access! Implementing validation for positive numbers:

class PositiveNumber:
def __set__(self, obj, value):
if value <= 0: raise ValueError()
obj._value = value

#Python #PythonTips
March 30, 2025 at 11:16 PM
TIL: Python's functools.partial() isn't just for args—it locks in kwargs too! Perfect for dependency injection and creating specialized functions. #Python #FunctionalProgramming #Tips
March 20, 2025 at 10:02 PM
🔍 K8s Debug Tip: Use `kubectl debug` to create temporary pods with troubleshooting tools alongside your containers. Inspect running workloads without modifying production images or redeploying. Perfect for live investigation while maintaining your security posture. #Kubernetes #K8sDebugging #DevOps
a dachshund walking on a brick sidewalk with the words " i 'm debugging " written on the bottom
ALT: a dachshund walking on a brick sidewalk with the words " i 'm debugging " written on the bottom
media.tenor.com
March 13, 2025 at 3:28 PM
k9s tip: Use :xray command to visualize resource dependencies and connections in your cluster. Invaluable for debugging complex service meshes and microservice architectures! #Kubernetes #DevOps #k9s
March 9, 2025 at 2:57 PM
K8s Pro Tip: Finalizers prevent resources from being deleted until specific cleanup logic completes. Perfect for custom controllers managing external dependencies or ensuring graceful termination. #Kubernetes
March 4, 2025 at 4:25 PM
TIL: K8s PodDisruptionBudget (PDB) can block node draining if minAvailable is set without maxUnavailable. Best practice: Use maxUnavailable=1 or 25% - it provides clear boundaries for pod eviction while maintaining availability 🔄 #Kubernetes
February 5, 2025 at 6:16 AM
🧵 Kubernetes Init Container Power Moves:
1/5 Process & prepare data before main container starts
February 4, 2025 at 4:08 AM
TIL: Kubernetes CronJobs:
1/5 K8s cronjobs have a .spec.successfulJobsHistoryLimit. Default=3. Adjust to keep history longer. 🕒
February 3, 2025 at 1:44 AM
Reposted by Hugh Tipping
Creating a Fitness Tracker App With Python Reflex #python
Creating a Fitness Tracker App With Python Reflex #python
Detailed guide building a simple Fitness Tracker app in Python using Reflex that lets you log the number of workouts completed per week.
pybit.es
February 2, 2025 at 4:00 AM
🧵 AWS Security Groups best practices:
1/6 Least privilege - only open required ports & use SG references over CIDR blocks
February 2, 2025 at 2:46 AM
AWS Pro Tip: Implement mandatory resource tagging using AWS Organizations SCPs + Terraform aws_organizations_policy. Tag environment, owner, cost-center & project at minimum. Makes cost allocation reports actually useful and saves hours debugging cross-account bills.
a bird is standing in front of a window with the words tag ... you 're it .
ALT: a bird is standing in front of a window with the words tag ... you 're it .
media.tenor.com
February 1, 2025 at 4:23 AM
🧵 Kubernetes Service Types Explained:
1/4 ClusterIP: Internal-only communication between pods within cluster, default type
January 31, 2025 at 6:54 AM
🧵 K8s Labels vs Annotations - A Quick Guide:
1/4 Labels: Machine-readable identifiers for selecting & grouping resources (pods, services).

Used with kubectl get/delete by selectors.

Example: environment=prod, app=frontend
January 30, 2025 at 12:02 AM
🧵 Python Database Best Practices - A Thread
1/5 Context Managers: Automate cleanup & prevent connection leaks
with db.connect() as conn:
conn.execute("INSERT INTO users...")
January 28, 2025 at 2:45 AM
Engineering wisdom: Knowing how to solve problems is good. Knowing when to ask for help is great. The best solutions are built together.💡
January 26, 2025 at 4:10 AM
💡Interview tip: Think aloud during live coding. Walk through your approach, assumptions, and tradeoffs. This shows problem-solving skills and helps interviewers understand your technical decision-making process. Plus, verbalizing often reveals solutions you may have missed. 💭💻
January 25, 2025 at 1:28 AM
🧵 Tech Career Growth Tips:
1/5 Build in public - Share your projects & progress on GitHub
January 24, 2025 at 3:47 AM
🧵 Python Context Managers - Advanced Tips #Python
1/7 with statements aren't just for files - they're your secret weapon for clean resource management 🎯
January 23, 2025 at 3:37 AM
🧵 Kubernetes ConfigMaps vs Secrets - What you need to know:
January 22, 2025 at 4:45 AM
🧵 AWS Lambda Python Pro Tips:
January 21, 2025 at 12:36 AM
🔒 AWS Safety Tip: Explicit profiles prevent prod disasters.

session = boto3.Session(profile_name='staging')
s3 = session.client('s3') # Safely scoped to staging
January 20, 2025 at 12:01 AM
🧵 Kubernetes NetworkPolicies Guide:
January 17, 2025 at 4:00 AM
🔑 AWS Tip: Skip .env files. Parameter Store (free tier) offers:
- 10K standard parameters (4KB each) per region
- Hierarchical storage (/prod/db/password)
- Version tracking & IAM controls
- AWS CLI & API support
- Native AWS service integration
January 16, 2025 at 1:58 PM
🧵 Kubernetes Jobs with Python - Essential Best Practices:
January 15, 2025 at 2:54 AM