Goodbye, Twitter

6 minute read Published: 2022-11-12

I joined Twitter in 2008. It allowed me to connect to the InfoSec community in a way I couldn't in person at the time. I had a lot of positive experiences, and it opened a few doors for me professionally. Today, after reading about more senior folks resigning and rumors that Musk is searching for ways to monetize user data in unethical ways, it's time to say good-bye.

I am now happily reliving the best experiences of early Twitter on the hachyderm.io Mastodon instance.

If you're considering leaving Twitter, there's a few things you might want to do to ensure your data isn't used in whatever the off-the-rails cry-baby billionaire dreams up next.

My Experience with Burnout

14 minute read Published: 2021-04-14

For nearly 4 years, I dealt with high levels of stress in my life without seeking help. As a consequence, my stress response got stuck "on". While I removed myself from the primary stressor, I took on new stress with an international move, new job, a new house, and reverse culture shock coming back to the USA. Even though these were mostly positive changes, my body kept the stress response active. I knew something was wrong, but I told myself I could manage it. I thrived in stressful situations. I knew my limits.

I was catastrophically wrong. My inability to recognize the severity of my situation lead to three devastating physical health issues I am still actively managing every day. I wish I had reached out for help sooner.

These are the steps I am taking to manage my mental, emotional, and physical health:

  1. I started working with a mental health professional
  2. I removed myself from stressful situations
  3. I exercise regularly
  4. I value my attention

I'd like to share my story of how the stress I experienced manifested physically. If for no other reason than to serve as a warning to folks currently dealing with anxiety and stress. I wish someone would've told me, "you don't have to do this alone. It's OK to ask for help even if you feel like others are in a worse place."

ElasticSearch CLI Tools - Part 1

11 minute read Published: 2019-05-18

While working at Booking.com, I was looking for a solution to logging that matched the ease of use and power as Graphite did for metrics. Reluctant to bring a new technology into production, I talked to co-workers and one mentioned that they were using ElasticSearch in some front-end systems for search and disambiguation. He mentioned hearing there were a few projects using ElasticSearch for storing log data.

This began my love-hate-love relationship with ElasticSearch. I've spent the past 8 years working with ElasticSearch professionally and in my spare time. Graphite and ElasticSearch are two projects that change the game in terms of exploring your data. The countless insights I've gained into system performance, application performance, and system and network security with these tools is unparalleled. Tools like Grafana and Kibana allow you to visualize your data quickly and beautifully. As a system and security engineer, sometimes this isn't enough. I spend most of my day in a terminal and needed something to explore and pivot through the data there.

This is the first part, in a many part series about a tool I created to make ElasticSearch's powerful search interface more accessible from the terminal. This tool has been essential to nearly every incident I've investigated. It was developed with the help, patience, and amazing ideas from co-workers both at Booking.com and now at Craigslist.

systemd-resolved is broken

8 minute read Published: 2017-12-20

Full disclosure, I'm not a fan of systemd. I started working with Linux in the late 90's and watched it grow from a marginalized operating system to the most dominant operating system in the datacenter. I've lived through so many "year of the Linux desktop" years I remember when it wasn't a joke. From my vantage point, administering Linux servers professionally for nearly 20 years, systemd is Linux on the desktop at the cost of Linux in the datacenter.

Why do I feel this way? It's mostly the reinvention and incorrect implementations of core UNIX tools and modalities. There's a lot of information on systemd out there. There's a lot of bias involved. So, today, I'm not going to talk about that. I am going to address a critical mistake in the systemd-resolved daemon which implements DNS lookups for systems running systemd.

I'll jump right to the work-around. If you're running a system which is using systemd, you should probably be running systemd-resolved configured to use a single DNS resolver,, and run Unbound. There are resources on how to configure and run Unbound, but the best is Calomel's Unbound Tutorial. If you need to maintain consistent, reliable DNS resolution that's compatible with previous versions of Linux, the only way to do that is to have a single DNS server in /etc/resolv.conf.

VPNs and Internet Privacy

17 minute read Published: 2017-07-16

After getting a few questions from concerned folks about VPN services. I realized this might be better served as an article. This way anyone who is curious about how to protect themselves better online can reference it.

The Bad News

Well, there's really no easy way to this: There is very little, if any, privacy on the Internet. Even after following all of the advice I'm about to give, all sorts of clever folks in the Valley and beyond are envisioning clever new ways to improve the "User Experience" (UX) and in the process accidentally creating newer, clever means to circumvent any and all privacy controls you might deploy.

find me: