Beach, Forest, Mushrooms and Little Bugs

Yesterday I rented a car and took it down towards Santa Cruz, to Henry Cowell State Park. I wanted to see some redwoods and look for mushrooms. Some of the highlights were:

  • Looking at some mycelium underneath a microscope and seeing actual life happening in real-time. I saw little worms and bugs moving around. I saw the threads that make up the mycelium network.
  • Realizing that we, as humans, are a host for so many microorganisms. There are little bugs, so to speak, crawling on us and inside us right now.
  • Hearing the flowing creek and I lay face-up on a fallen tree that created a bridge across the water.
  • Making a quick stop at the beach where I played with my guitar and buried my feet in the sand.

Best of: January 2020

The first year of the decade started with a return back to Berkeley from a two-week holiday trip to New York. Here are some things that I found memorable this month.

Henry’s Kitchen: Meatloaf for One

I used to watch these videos years ago. I was so happy to see Henry is still making them. Pure comedic gold.

Hack the Box by IppSec

The guy has a YouTube channel full of hacking videos. He is super slick with Bash, Linux, and an arsenal of hacking tools. I like his pacing in these videos. I find these videos to be a fun way to learn about security and how to be more effective in Linux and on the web.

The One You Feed: Pete Holmes on Discovering Spiritual Truths

I’ve been really into Pete Holmes the past couple of months. I read his book Comedy, Sex, Love, and could relate to his upbringing and path towards spirituality. He’s a funny guy, but I really love it when he talks about God, spirituality, and religion; which is what this episode was mostly about.

A Silver Mt Zion: 13 Angels Standing Guard ‘Round the Side of Your Bed

It’s hypnotic. It’s haunting. It takes me to a place beyond this world.

RabbitMQ Tutorials

The authors of the tutorials for RabbitMQ deserve great praise. First off, the comparison of RabbitMQ to a post office really helped me grok what a message broker system is. A queue is a P.O. box. Producers put mail in the P.O. box. Consumers take the mail out of the box.

Not only are the tutorials well-written, but they are also encouraging for newbies. They don’t overwhelm you with too much information upfront, and they are broken up into chunks that build up from the chunk before it. And for a cherry on top, they offer these tutorials in a handful of languages so you can choose the one you are most comfortable with.

Kobe Bryant

Tragedy struck this month with an unfortunate helicopter crash that took the life of Kobe, his daughter, and others.

Glossary: Headless

I recently saw someone call a Kubernetes Service, “headless”. I have also heard this term in the context of the Chrome web browser running in “headless” mode. It’s a confusing term to me, so let’s explore it.

“Headless” means not having a head. But what is a “head” in these contexts?

Here is the Kubernetes Service that gmr called “headless”.

kind: Service
apiVersion: v1
  namespace: default
  name: rabbitmq
    app: rabbitmq
  clusterIP: None            # <--- This is what makes it headless
   - name: http
     protocol: TCP
     port: 15672
     targetPort: 15672
   - name: amqp
     protocol: TCP
     port: 5672
     targetPort: 5672
    app: rabbitmq

By setting spec.clusterIP to None, the Service is headless. It no longer acts as a load balancer. In a way, it’s like a lot of the overhead is removed and you are left with a stripped-down version of a Service.

A headless service is a service with a service IP but instead of load-balancing it will return the IPs of our associated. This allows us to reach each Pod directly, rather than the service acting as a load-balancer or proxy.


I’m starting to see that “headless” might just mean part of an application instead of the full version.

How about Headless Chrome?

Headless Chrome is a way to run the Chrome browser in a headless environment without the full browser UI. Headless Chrome gives you a real browser context without the memory overhead of running a full version of Chrome.

Eric Bidelman

That makes sense. With automated web testing, you don’t need a full-blown browser, only some of its functionality.


Headless means that you are only using part of an application’s functionality.

Log Rotation in a Nutshell

The basic idea of log rotation is explained in the following five steps.

  1. You have a program that sends its logs to /var/log/foo.log.
  2. It’s starting to grow to an uncomfortable size.
  3. When it gets too big you rotate it by renaming the file something like /var/log/foo.log.1.
  4. You create a new file called /var/log/foo.log (where your program sends its log to).
  5. You can decide what you want to do with /var/log/foo.log.1. Maybe you compress it or copy it to another server and then delete it.

Many modern Linux distributions the logrotate utility to manage log rotation. By default, it is configured to run daily using cron.

$ cat /etc/logrotate.conf
# see "man logrotate" for details

include /etc/logrotate.d

man logrotate has detailed explanations of the configuration options. It’s suggested that you make a config file in /etc/logrotate.d for each log you want to be managed. Here is an example.

/var/log/myapp {
    rotate 24

This configuration will watch /var/log/myapp, rotate the log once a month, compress the rotated log, and create a new empty log after rotation.

That’s pretty much all there is to it.

Chrome Shortcuts

Here are some helpful shortcuts for getting around the Web in Google Chrome.

Cmd+lSelect the address bar
Ctl+eTake the cursor to the end of a line
Ctl+aTake the cursor to the beginning of a line
Alt+Shift+ArrowSelect full words in the address bar
Alt+Cmd+ArrowMove to the previous or next tab
Cmd+wClose a tab
Cmd+Shift+tBring back a tab you accidentally closed