JohnTellsAll 2022

Uncategorized
A bit of a personal update! For the last few years I've been doing enterprise Cloud Engineering consulting, helping e.g. banks move to the cloud, mostly AWS. I'm a fan of Kubernetes and earned my CKAD the other day. My GitHub profile is where you can see what I've been working on. There is a very brief summary of my book (on feedback loops). There are slides and recorded versions of my many talks/workshops. Lastly there's info about my "visual codebase analysis tool", Shotglass. Soon I hope to revamp this blog again, and post details after I give my next series of talks, on Fast Development / Fast DevOps. It's an extension of my Fast DevOps with Terraform talk from my YouTube channel.
Read More

Realtime CloudFormation Events

Uncategorized
If you're working with CloudFormation, this "one liner" shows you realtime events, great for debugging without the Console. Sort of like kubectl get events --watch Take a deep breath... watch --interval=11 'aws cloudformation describe-stack-events --stack-name STACK-NAME-HERE | jq --raw-output ".StackEvents[]|.ResourceStatus, .ResourceStatusReason, .ResourceProperties" | egrep -v null'
Read More

Buddhism resources

Uncategorized
here are Buddhism podcasts and related things I recommend:- Headspace is a wonderful daily calming exercise. I've been using it for great luck for the last couple years, especially the pack on "Acceptance" I've repeated many times. It's about not reaching out and controlling things, or pushing things away, but accepting reality and then acting assertively. https://www.youtube.com/watch?v=o2LMvPF-F2U- Insight Meditation Center has tons of calm but useful talks from several teachers. The have a *lot* of content and have very frequent videos on YouTube! https://www.youtube.com/user/insightmed https://audiodharma.org/ ; and they have an app.- https://secularbuddhism.com/Noah Rasheta is mellow and practical and friendly. He starts each episode with "Don't learn Buddhism to be a Buddhist, learn it to be a better whoever you are"- https://www.everyday-buddhism.comThe host Wendy is chipper and engaging. This podcast is…
Read More

grep.app is a wonderful code finding tool

Uncategorized
We all know Uncle Googles isn't that great for finding code. Here's another solution: 1) search a squillion codebases, 2) use programmer-centric syntax, and 3) be really fast, actually interactive.Example: "I'm learning real-world CloudFormation. Search codebases for 1) the word "CodeCommit" (case sensitive, full word), 2) in CloudFormation templates in JSON or YAML"=> https://grep.app/search?q=CodeCommit&words=true&filter[lang][0]=YAML
Read More

the inner loop matters a lot

Uncategorized
It's very common for developers (and anyone) to complain about something, then continue to do it, when a 30-minute investment would make it better, then and forever in the future. I'm thinking of Devs in my old project who never really learned the good parts of Docker, nor the CICD system. They wasted minutes/hours a day spinning their wheels and complaining about it.In my study of Feedback Loops I've realized that the inner loop matters a tremendous amount. That is, when you're working on a Project that'll take a few days, a Feature that'll take about a day, a Task that'll take about an hour, how you spend that hour is really important. If you're fast and comfortable and confident of your workflow on that hour, it'll affect all the…
Read More

Mindfulness and Thinking resources

Uncategorized
here are two Buddhism podcasts I recommend:- https://secularbuddhism.com/Noah Rasheta is mellow and practical and friendly. He starts each episode with "Don't learn Buddhism to be a Buddhist, learn it to be a better whoever you are", which I strongly agree with. Buddhist principles highlight a way of seeing, which is compatible and very helpful for everyday real life.- https://www.everyday-buddhism.comThe host Wendy is chipper and engaging. This podcast is a more Eastern-centric, but is still very understandable and useful.- the Headspace pack on "Acceptance" I have gotten a lot out of and continue to repeat. It's about not reaching out and controlling things, or pushing things away, but accepting reality and then acting assertively. https://www.youtube.com/watch?v=o2LMvPF-F2U- https://www.youtube.com/watch?v=IYWlfVqBQLc Esther Nam - One weird trick to becoming a better software developer - PyCon 2018Esther…
Read More

raw container networking

Uncategorized
Ever want to learn more about raw Linux networking, e.g. under the Docker level? Here's a very clear explanation of veth devices and bridging and the other machinery Docker/Kubernetes uses to route container packets to/from the network: Container networking is simple
Read More

Study program for CKAD

Uncategorized
Recently I took the Certified Kubernetes Application Developer (CKAD). Here’s the study program I used. using my O’Reilly subscription I went through Ben Muschko’s prep course a couple times: course: https://learning.oreilly.com/learning-paths/learning-path-certified/9781492061021/ sample code https://github.com/bmuschko/ckad-prep also the Linux Foundation course LFD259 https://trainingportal.linuxfoundation.org/learn/course/kubernetes-for-developers-lfd259/ People on Reddit gave me valuable real-world info about the test. You only interact with the proctor via text window. It’s pretty intense. It’s a game of knowing which questions to spend your time on and when to punt and come back later. Be super organized! Lastly I worked through dgkanatsios exercises. These were very helpful! https://github.com/dgkanatsios/CKAD-exercises You have to be FAST. I wasn’t enough, I didn’t pass… Which is cool, I want my passing grade to mean something when I re-take it. If you study AND you’ve been…
Read More

2020 Status: Productive in a Pandemic

Uncategorized
2020 Status: Productive in a Pandemic In 2019, I worked with two companies, about 10 people. Then I started consulting. In 2020, I worked with fourteen companies, about 90 people! Projects lasted from two to six weeks. It was fun, if sometimes chaotic. Here are some... Lessons Learned Reach out for 1-on-1s with the Team Life as a consultant is measured video-meeting to video-meeting. A ton of acronyms and terms and ideas and people whirl around, to often float away never to be seen again. By establishing a clear relationship with individuals in the team, the team lead and your coworkers, it’s much easier to focus on what the project’s goals and objectives are, and your role in delivering value to the client. Take lots of notes with pen and…
Read More

Kubernetes: list available container images

Uncategorized
Question: how can I list available container images? I'm working with Kubernetes. My test container is just Nginx. I deployed image version 1.14.1, but I'm sure it's an old version. How can I programmatically tell which versions of Nginx are available? Once I have a another version, I can do an in-place update with "kubectl set image deploy/mydeploy nginx=nginx:1.16.0 --record=true", but I have to find the version first :) Answer #1: I don't know! Does Kubernetes have a "list images in repos" command I've missed? Answer #2: If I'm a human using Docker, I can use the DockerHub page https://hub.docker.com/_/nginx Answer #3: programmatically, here's how to do it in Docker. Oddly there's no command for this, but there _is_ a simple API we can abuse to get what we want:…
Read More